Scalable Load Balancing in Nurse to Patient Assignment Problems
|
|
|
- Gyles Taylor
- 10 years ago
- Views:
Transcription
1 Scalable Load Balancing in Nurse to Patient Assignment Problems Pierre Schaus 1, Pascal Van Hentenryck 2, Jean-Charles Régin 3 1 Dynadec, One Richmond Square, Providence, RI 02906, USA [email protected] 2 Brown University, Box 1910, Providence, RI 02912, USA [email protected] 3 Université de Nice-Sophia Antipolis 930 Route des Colles - BP 145, Sophia Antipolis Cedex, France [email protected] Abstract. This paper considers the daily assignment of newborn infant patients to nurses in a hospital. The objective is to balance the workload of the nurses, while satisfying a variety of side constraints. Prior work proposed a MIP model for this problem, which unfortunately did not scale to large instances and only approximated the objective function, since minimizing the variance cannot be expressed in a linear model. This paper presents constraint programming (CP) models of increasing complexity to solve large instances with hundreds of patients and nurses in a few seconds using the Comet optimization system. The CP models use the recent spread global constraint to minimize the variance, as well as an exact decomposition technique. 1 Introduction This paper considers the daily assignment of newborn infant patients to nurses in a hospital described in [5]. In this problem, some infants require little attention, while others need significant care. The amount of work required by the infant during one shift is called the acuity. A nurse is in charge of a group of infants and the total amount of acuity is the workload of the nurse during that shift. For ensuring an optimal care quality and perceived fairness for the nurses, it is essential to balance the workload. In addition, the problem features various side constraints: A nurse can work in only one zone, but the patients are located in p different zones. A nurse cannot be responsible of more than children max infants. The total amount of acuity of a nurse cannot exceed acuity max. The balance objective and the various constraints make it very difficult to find a good solution in a reasonable time. Since nurses only work in one zone, the number of nurses assigned to each zone has already a huge impact on the quality of the balancing. In [5], the problem was tackled using a MIP model, but the
2 results were not satisfactory. In this paper, we present a series of increasingly sophisticated constraint programming models in order to reach the required solution quality and scalability. The rest of the paper is organized as follows. Section 2 presents the instances proposed in [5] and Section 3 describes the MIP model and its limitations. Section 4 reviews the Spread constraint for load balancing and characterizes its pruning (as implemented in Comet). Section 5 presents a first constraint programming (CP) model that can solve two-zones instances. Section 6 presents a two-step approach that first assigns the nurses in each zone and then assigns the infants to nurses to balance the load optimally. Finally, Section 7 shows that the second step can be decomposed by zones without losing the optimality guarantees. This final model is instrumental in solving large instances with dozens of zones and hundreds of patients. 2 Problem Instances Reference [5] specifies a statistical model to generate instances very similar to their real instances. This statistical model was also used to measure the robustness of their solution technique with respect to the number of nurses, the number of infants, and the number of zones. The model contains a single parameter: the number of zones. The maximum acuity per nurse is fixed to acuity max = 105 and the maximum number of infants per nurse is fixed to children max = 3. The instance generator fixes the number of nurses, the number of infants, the acuity, and the zone of each infant. The different steps to generate an instance are as follows: The number of patients in a zone is specified by a Poisson random variable with mean 3.8 and offset by 10. The acuity Y of a patient is obtained by first generating a number X Binomial(n = 8, p = 0.23) and then choosing the number Y Unif(10 (X + 1), 10 (X + 1) + 9). The total number of nurses is obtained by solving a First Fit Decreasing (FFD) procedure in each zone. More precisely, the total number is the number of nurses found in each zone by the FFD procedure. The FFD procedure starts by ranking the patients in decreasing acuity. Then, the patient with the highest acuity is assigned to the first nurse. The next patients are assigned successively to the first nurse that can accommodate them without violating the maximum acuity and the number of patient constraints. 3 The MIP Model We now review the main variables of the MIP model from [5]. We also describe the limitations of the MIP model and suggest why a CP approach may address them. Due to space reasons, we do not reproduce the entire MIP model but readers can consult [5] for more details. The technical details presented here are sufficient for our purposes. The MIP model contains four families of variables:
3 Fig. 1. Comparison of Two Solutions on a 6 Nurses, 14 Infants, and 2 zones Problem. Solution on the left is obtained by minimizing the range-sum criterion. Solution on the right is obtained by minimizing the variance. 1. X ij = 1 if infant i is assigned to nurse j and 0 otherwise; 2. Z jk = 1 if nurse j is assigned zone k and 0 otherwise; 3. Y k,max is the maximum acuity of a nurse in zone k; 4. Y k,min is the minimum acuity of a nurse in zone k. All these variables are linked with linear constraints to enforce the constraints of the problem. The objective function implements what we call the range-sum criterion and consists of minimizing the sum of the acuity ranges of the p zones, i.e., p (Y k,max Y k,min ). k=1 The MIP model has a fundamental limitation: The objective function may produce poorly balanced workloads. It tends to equalize the workload inside the zones but may produce huge differences among the workload of different zones. This is illustrated in Figure 1. The workloads are depicted in the top-right corner of each Comet visualization. The left solution is obtained by minimizing the range-sum criterion and the right solution by minimizing the variance (L 2 norm in the next section). The range-sum objective is minimal on the left because the workloads inside each of the two zones are identical. Unfortunately, nurses in the first zone work twice as much as those in the second zone. The right solution is obtained by minimizing the variance and is significantly more appealing.
4 This illustrates clearly that the high level objective that all nurses should be assigned an equal amount of patient acuity [5] is not properly captured with the range-sum criterion. It is not immediately obvious how to remedy these problems. The variance is non-linear and is not easily modelled in a MIP approach. In addition, a CP approach may exploit the combinatorial structure in the bin-packing and the side-constraints, while the MIP relaxation is generally bad for bin-packing like problems. Finally, there are important symmetries that are not removed in their model: For a given solution, the nurses are completely interchangeable. We now review load balancing constraints before turning to the CP models. 4 Load Balancing Constraints Balancing constraints arise in many real-world applications, most often to express the need of a fair distribution of items or work. For instance, Simonis [15] suggested a global constraint to balance the shift distribution among nurses and Pesant [7] proposed the use of balancing constraints for a fair allocation of individual schedules. Two global constraints and their propagators are available in constraint programming for optimizing load balancing: spread [6, 11], which constrains the variance and the mean of a set of variables, and deviation [12, 13], which constrains the mean absolute deviation and the mean of a set of variables. We also say that spread and deviation respectively constrain the L 2 and L 1 norms of a set of variables X 1..X n with respect to their mean (s = i [1..n] X i), i.e., L 1 : i [1..n] X i s/n ; L 2 : i [1..n] (X i s/n) 2. These criteria are not equivalent: Minimizing L 1 or L 2 does not lead to the same solutions and it is not always obvious which one to choose. In fact, this is an old and recurrent debate (see for instance [3]). For this application, we use spread because the L 2 criteria is more sensitive to outliers, which we consider significant in this application. We use the following definitions and notations to describe the semantics of the spread constraints and propagators. Definition 1. Let X be a finite-domain (discrete) variable. The domain of X is a set of ordered values that can be assigned to X and is denoted by Dom(X). The minimum (resp. maximum) value of the domain is denoted by X min = min(dom(x)) (resp. X max = max(dom(x)). An integer interval with integer bounds a and b is denoted [a..b] Z, while a rational interval is denoted [a, b] Q. An assignment on the variables X = [X 1, X 2,..., X n ] is denoted by the tuple x and the i-th entry of this tuple by x[i]. The extended rational interval domain of X i is I Q D (X i) = [X min i [X min i.. X max i ]., Xi max ] and its integer interval domain is ID Z (X i) = We now define the spread constraint with a fixed mean.
5 Definition 2. Given finite domain variables X = (X 1, X 2,..., X n ), an integer value s and a finite domain variable, spread(x, s, ) holds if and only if X i = s and n X i s/n 2. Observe also i [1..n] n i [1..n] X i s/n 2 = n i [1..n] i [1..n] X 2 i s 2. (1) Since s is an integer, this quantity is integer, which is why it is more convenient to work with n i [1..n] X2 i s2 than with i [1..n] X i s/n 2. Example 1. Tuple x = (4, 6, 2, 5) spread([x 1, X 2, X 3, X 4 ], s = 17, = 40) but x = (3, 6, 2, 6) / spread([x 1, X 2, X 3, X 4 ], s = 17, = 40) because 4 ( ) 17 2 = 51 > 50. The filtering algorithm for spread achieves Z-bound-consistency. Definition 3 (Q-bound-consistency and Z-bound-consistency). A constraint C(X 1,..., X n ) (n > 1) is Q-bound-consistent (resp. Z-bound-consistent) with respect to domains Dom(X i ) if for all i {1,..., n} and each value v i {Xi min, Xi max }, there exist values v j I Q D (X j) (resp. v j ID Z (X j)) for all j {1,..., n} {i} such that (v 1,..., v n ) C. The propagators described in [6, 11] achieve Q-bound-consistency, which means that they assume that the variables can be assigned rational numbers. The propagators implemented in Comet implement the stronger Z-bound-consistency by adapting the algorithms from [6, 11]. In particular, to achieve Z-boundconsistency, the propagators for spread compute Z to filter min, and X Z i and X Z i to filter Xi max and Xi min : Z = min{n (x[i] s/n) 2 s.t. x[i] = s (2) x i [1..n] X Z i = max x {x[i] s.t. n j [1..n] j [1..n] i [1..n] and i [1..n] : x[i] I Z D(X i )} (x[j] s/n) 2 max and (3) x[j] = s and j : x[j] I Z D(X j )}. The filtering of is implemented in O(n log(n)) and that of X in O(n 2 ) in the Comet System [2, 10]. 5 A Basic CP model. We now present a CP model which addresses the issues raised for the MIP model.
6 The CP Model. Let m be the number of nurses, n the number of patients, and a i be the acuity of patient i. The set of patients in zone k is denoted by P k and [P 1,..., P p ] forms a partition of {1,..., n}. For each patient i, we use a decision variable N i [1..n] representing her/his nurse. The workload of nurse j is represented by variable W j [0..acuity max ]. The objective and constraints are modelled as follows. The objective, i.e., minimizing the L 2 norm, is expressed by a spread constraint over the workload variables [W 1,..., W m ], the total acuity, and the acuity spread: spread([w 1,..., W m ],totalacuity,spreadacuity). Note that spreadacuity is the variable to minimize. To express that nurses have a total acuity of atmost acuity max, we link the variables N i, W j, and the acuities with a global packing/multiknapsack constraint [14]: multiknapsack([n 1,..., N n ], [a 1,..., a n ], [W 1,..., W m ]). To model that a nurse takes care of at most children max infants, we use a global cardinality constraint [8]: cardinality(1, [N 1,..., N n ], children max ). The constraint that a nurse can work in at most one zone is modelled by a pairwise-disjoint constraint pairwisedisjoint([z 1,..., Z p ]), where Z k is an array of variables containing the variables N i associated with zone k. The Comet Program The model in Comet is shown in Listing 1.1. Lines 1 3 declare the decision variables. Line 4 declares the arrays for the zones, which are filled in lines 5 7. The objective function is in lines 8 9 and 11. Lines depict the constraints. The pairwisedisjoint constraint introduces set-variables representing the set of nurses working in each zone NS k = i P k N i. The set NS k is maintained with a global constraint unionof. Then, the pairwise empty intersections between the set variables are enforced with a global disjoint constraint. Comet uses a reformulation with channeling constraints and a global cardinality constraint as explained in [9, 1]. The search is implemented in the using block in lines The search dynamically breaks the value symmetries originating from the nurse interchangeability. The patient having the largest acuity is selected first in line 17. Then the search tries to assign a nurse to this patient, starting first with those with the smaller load (lines 19 22). The symmetry breaking is implemented by considering the already assigned nurses and at most one additional nurse without any assigned patient (a similar technique was used for the steel mill slab problem in [4]). Value mn is the maximal index of a nurse already assigned to a patient. The tryall statement considers all the nurse indexes until mn+1 (nurse mn+1 having currently no patient). Experimental Results As a first experiment, we generated 10 instances with 2 zones, as was the case for the real instances studied in [5]. These instances have about nurses, infants, and cannot be solved by the MIP model. All the instances were solved optimally with our Comet model in less than 30 minutes (the time constraint specified in [5] by the hospital to find the assignment). Table 1 depicts the experimental results. All results are using Comet 1.1 [2] on 2.4 GHz Intel Core Duo with 4GB running MacOS
7 Listing 1.1. Patient-Nurse Assignment Model 1 var<cp>{int} N[patients](cp,nurses); 2 var<cp>{int} W[nurses](cp,1..MaxAcuity); 3 var<cp>{int} spreadacuity(cp,0..system.getmaxint()); 4 var<cp>{int}[] Z[zones]; 5 int k = 1; 6 forall(i in zones,j in 1..nbPatientsInZone[i]) 7 Z[i][j] = N[k++]; 8 minimize<cp> 9 spreadacuity 10 subject to { 11 cp.post(spread(w,sum(p in patients) acuity[p],spreadacuity)); 12 cp.post(multiknapsack(n,acuity,w)); 13 cp.post(cardinality(minnbpatients,n,maxnbpatients)); 14 cp.post(pairwisedisjoint(z)); 15 } 16 using { 17 forall(p in patients:!n[p].bound()) by ( acuity[p],n[p].getsize()) { 18 int mn = max(0,maxbound(n)); 19 tryall<cp>(n in nurses: n <= mn + 1) by (W[n].getMin()) 20 cp.label(n[p],n); 21 onfailure 22 cp.diff(n[p],n); 23 } 24 } Table 1. Patients to Nurses Assignment Problem with 2 zones and minimization of L 2 with spread. m n #fails time(s) avg workload sd. workload
8 x 1 x 2 A 1 x 1 Zone 1 Zone 2 Fig. 2. Illustration of a solution of the relaxation solved to find the number of nurses in each zone. 6 A Two-Step CP Model The basic CP model can solve 2-zone instances but has great difficulty for 3 zones or more. We now show how to simplify the resolution by a two-step approach which first pre-computes the number of nurses assigned to each zone and then assigns the patients to nurses. This simplifies the resolution by 1. removing one degree of flexibility which is the number of nurses in each zone. 2. removing the disjointness constraint since the set of nurses that can be assigned to each patient can be pre-computed. A Relaxation This first step is important because the decomposition may be significantly sub-optimal if these numbers are not properly chosen. Indeed, the number of nurses assigned to each zone has a crucial impact on the quality of the balancing. However, after visualizing some optimal solutions, we observed that the workloads of the nurses are extremely well balanced (almost the same) inside the zones. This suggested solving a relaxation of the problem to discover a good distribution of the nurses to the zones. The relaxation allows the acuity of a child in a zone to be distributed among the nurses of that zone (continuous relaxation of the acuity). Since the acuity of a child can be split, the relaxed problem will have an optimal solution where the nurses of a zone have exactly the same workload A k x k, i.e., the total acuity A k = i P k a i of zone k divided by the number of nurses x k in zone k. This is schematically illustrated on Figure 2 for a two-zone relaxation problem and stated in Theorem 1. Theorem 1. An optimal solution of the relaxed problem must have the same workload for all the nurses in a given zone.
9 Proof. Otherwhise, given m variables [W 1,..., W m ] with sum s = m i=1 W i, the L 2 criterion can be improved on these variables if two of them can be made closer (2 nurses of the same zone with a different workload). Let W i and W j be the variables that can be made closer and assume without loss of generality that W i > W j. The variables after modification are respectively W i and W j. If W i and W j are made closer this means that W i W j < W i W j. Since the sum is fixed then W i + W j = W i + W j. Thus W i W i = W j W j and so there exists δ with (Wi Wj) 2 δ > 0 such that W i W i = δ = W j W j. That is W i = W i δ and W j = W j + δ. The starting sum of square deviations with formula (1) is = m m i=1 (W i) 2 s 2. With W i and W j it becomes = m ( k i,j (W k) 2 + (W i δ) 2 + (W j + δ) 2 ) s 2 = 2mδ (W i W j δ). Since (W i W j δ > 0), we have <. Given Theorem 1, the mathematical formulation of the relaxed problem is 2 p min x k A p k A j x k m p j=1 s.t. k=1 j=1 (4) p x k = m (5) k=1 x k Z + 0 (6) The workload of all the nurses of zone k is A k x k and the average workload is A j m. Hence the contribution to the L 2 criterion for the x k nurses of zone k is x k ( Ak x k ) p A j 2. j=1 m Solving the Relaxation In our CP model, we approximate this relaxation in O(p log(p)) time. First, we solve the continuous relaxation of the problem, i.e., we drop the integrality constraint (6). The solution to this continuous optimization A problem is x k = m k, which corresponds to assigning the average workload Aj p A j j=1 Pp j=1 A k Pp j=1 Aj m to every nurse. The continuous solution x k = m transformed greedily into an integer solution using the following steps: can be By developing the objective (4), it appears that it is equivalent to minimize p k=1 (A k ) 2 x k. The transformation into an integer solution starts by first rounding up the A number of nurses in every zone x k = m Pp k. The effect is that the j=1 Aj constraint (5) may be violated and the objective might decrease. Then, the x k > 1 are considered to be decreased by one unit until the constraint (5) is satisfied again. The index k of the next x k to be decreased is argmin k { A2 k x k 1 A2 k x k }, i.e., the variable that will increase the least its corresponding term in the equivalent objective p k=1 A 2 k x k. Our experimental results show that this approximation is optimal on all the instances the first CP model solved.
10 A 1 / x 1 A 1 / x 1 x 1 x 2 A 1 x 1 Zone 1 Zone 2 Fig. 3. Illustration of the Lower Bound on L 2 using the Pre-Computation of the Number of Nurses in Each Xone. Lower Bound on the Spread The pre-computation of the number of nurses assigned to each zone is also instrumental in computing a lower bound on the L 2 criterion. Inside a zone, the average load is µ k = A k /x k. Since the acuity of patients are integers, we can strengthen the lower bound of the objective (4) by enforcing the workloads of nurses of zone k to be either µ k or µ k. This is illustrated on Figure 3. Since the total workload of zone k must remain A k, the distribution of the workload among µ k and µ k are given respectively by α k = A k + x k (1 µ k ) and β k = x k α k. The lower bound on the spread variable Z computed with formula (1) is thus p p m (α k µ k 2 + β k µ k 2 ) ( A k ) 2. (7) k=1 The Comet Model The two-step CP model in Comet is given in Listing 1.2 and assumes that the x k are already computed. The model does not create the N variables in line 2: These will be created at the same time as the zone arrays, since their domains are now restricted to a subset of the nurses. Lines 6 12 create the zone arrays, line 10 constructing the array for zone i. Note that the domains of these variables are defined in lines 9 and 11, using the number of nurses assigned in the zones. Lines assign the zone variables to the nurse variables (the opposite of the first model, since the zone variables now have restricted domains). The constraints are similar but there is no longer a need for the pairwisedisjoint constraint. The search in lines is a little bit more complicated as the patients are assigned one zone at a time. The dynamic symmetry breaking scheme is the same but adapted to this by zone assignment. Table 2 reports the results obtained on the same 2-zones instances as for Table 1 using the pre-computation of the number of nurses assigned to each zone. The k=1
11 Listing 1.2. Two steps Patient-Nurse Assignment Model 1 Solver<CP> cp(); 2 var<cp>{int} N[patients]; 3 var<cp>{int} W[nurses](cp,1..MaxAcuity); 4 var<cp>{int} spreadacuity(cp,0..system.getmaxint()); 5 var<cp>{int}[] Z[zones]; 6 range nursesofzone[zones]; 7 int j=1; 8 forall(i in zones) { 9 nursesofzone[i] = j..j+x[i] 1; 10 Z[i] = new var<cp>{int}[1..nbpatientsinzone[i]](cp,nursesofzone[i]); 11 j += x[i]; 12 } 13 int k = 1; 14 forall(i in zones,j in 1..x[i]) 15 N[k++] = Z[i][j]; 16 minimize<cp> 17 spreadacuity 18 subject to { 19 cp.post(spread(w,sum(p in patients) acuity[p],spreadacuity)); 20 cp.post(multiknapsack(n,acuity,w)); 21 cp.post(cardinality(minnbpatients,n,maxnbpatients)); 22 } 23 using { 24 forall(i in zones){ 25 forall(p in Z[i].rng():!Z[i][p].bound()) by( acuitybyzone[i][p],z[i][p].getsize()){ 26 int shift = i==1? 0 : nursesofzone[i 1].getUp(); 27 int mn = max(0,maxbound(z[i]))+shift; 28 tryall<cp>(n in nursesofzone[i]: n <= mn + 1) by (W[n].getMin()) 29 cp.label(z[i][p],n); 30 onfailure 31 cp.diff(z[i][p],n); 32 } 33 } 34 }
12 last column is the lower bound obtained with equation (7). A first observation is that the computation times are greatly reduced. They do not exceed 10 seconds with the new model, while they were over 1000 seconds for the most difficult instances with the old one. The CP model finds the correct number of nurses in the first step, since the standard deviation with previous model are exactly the same (hence optimum) as the optimal values in Table 1. It is also interesting to see that the lower bound is reasonably close to the optimum values which also validates the approach. Table 2. Patients to Nurses Assignment Problem with 2 zones with precomputation of the number of nurses in each zone m n #fails time(s) avg workload sd. workload lb. sd Table 3. Patients to Nurses Assignment Problem with 3 zones with precomputation of the number of nurses in each zone sol m n #fails time(s) avg workload sd. workload lb. sd Since the instances with 2 zones can now be solved easily, we tried to solve instances with 3 zones. The results are presented on Table 3. Only 6 instances (out of 10) could be solved optimally within 30 minutes with this two-step approach.
13 Fig. 4. Solution of a 15-Zone Instance. 7 A Two-Step CP Model with Decomposition The previous approach can solve easily two-zone problems but has difficulties to solve 3 zones problems and instances with more that 3 zones are intractable. It thus seems natural to decompose the problem by zone and to balance the workload of nurses inside each zone independently rather than balancing the workload of all the nurses globally. Interestingly, this decomposition preserves optimality, i.e., it reaches the same solution for the L 2 criterion as the twostep approach of Section 6 for a given pre-computation of the number of nurses assigned in each zone. In other words, given the pre-computed number of nurses in each zone, it is equivalent to minimize L 2 among all the nurses at once or to minimize L 2 separately inside each zone. We now prove this result formally. Lemma 1. Minimizing n x k i=1 (y i A k /x k ) 2 such that x k i=1 y i = A k is equivalent to minimizing n x k i=1 (y i (A k /x k + c)) 2 such that x k i=1 y i = A k. Proof. The first objective can be reformulated from formula 1 as x k x k i=1 y2 i A 2 k. The second one can be reformulated after some algebraic manipulations as c 2 x 2 k +x k k x i=1 y2 i A2 k. Since they differ only by a constant term, they produce the same set of optimal solutions. Theorem 2. It is equivalent to minimize L 2 among all the nurses at once or to minimize L 2 separately inside each zone. Proof. This follows directly from Lemma 1. If the minimization of L 2 is performed globally for all the nurses, the least square L 2 criterion is computed with respect to the global average load of all the nurses that is wrt p k=1 A k/m. This corresponds to choosing c in Lemma 1 equal to the difference between the average load in zone k and the global average load: c = p k=1 A k/m A k /x k. We solved again the 3-zone instances with the decomposition method. The results are given on Table 4. One can observe that, as expected, the objectives are the same for the instances that could be solved optimally in Table 3. For the remaining ones, the algorithm produces strictly better solutions. The time is also significantly smaller. Figure 4 shows a Comet visualization of a solution for a 15-zones instance with 81 nurses and 209 patients. This instance could be solved in only 7 seconds and fails.
14 Table 4. Patients to Nurses Assignment Problem with 3 zones with precomputation of the number of nurses in each zone and decomposition by zone m n #fails time(s) avg workload sd. workload lb. sd Conclusion This paper considered the daily assignment of newborn infant patients to nurses in a hospital. The objective is to balance the workload of the nurses, while satisfying a variety of side constraints. Prior work proposed a MIP model for this problem which exhibits two limitations. It did not scale to large instances and its objective function did not balance the workload properly. The paper presented a direct CP model which balances the load appropriately and easily solve 2- zone instances. To scale the CP approach, the paper showed how to decompose the problem in two steps: an assignment of nurses to zones followed by the assignment of nurses to patients. The first step is obtained from a relaxation of the problem which could be solved quickly. The second step is solved by a simplification of the direct model. This 2-step approach dramatically improved the results on the 2-zone instances and could solve some 3-zone instances. The paper then showed that the zone problems can be solved independently without quality loss. This resulting CP model solves 3-zone problems almost instantly and is highly scalable. For instance, a 15-zone problem with 81 nurses and 209 patients was solved in 7 seconds. There are a number of interesting issues left to investigate. It would be interesting to study the quality of the approximation performed in the first step. Our experimental results indicate that it is optimal on all our tested intances but a performance guarantee would be desirable. Alternatively, we could consider solving this first step exactly, an algorithmic issue we need to investigate. In addition, it would be interesting to study problems in which nurses have qualifications which restrict their possible zone assignments. References 1. Christian Bessiere, Emmanuel Hebrard, Brahim Hnich, and Toby Walsh. Disjoint, partition and intersection constraints for set and multiset variables. In Principles and Practice of Constraint Programming CP 2004, pages , 2004.
15 2. DYNADEC. Comet 1.1 release Stephen Gorard. Revisiting a 90-year-old debate: The advantages of the mean deviation. British Journal of Educational Studies, pages , P. Van Hentenryck and L. Michel. The steel mill slab design problem revisited. CP AI OR-08, Paris, France, 5015: , May C Mullinax and M Lawley. Assigning patients to nurses in neonatal intensive care. Journal of the Operational Research Society, 53:25 35, G. Pesant and J.C. Régin. Spread: A balancing constraint based on statistics. Lecture Notes in Computer Science, 3709: , Gilles Pesant. Constraint-based rostering. The 7th International Conference on the Practice and Theory of Automated Timetabling PATAT 2008, J-C. Régin. Generalized arc consistency for global cardinality constraint. AAAI-96, pages , J.C. Régin. Habilitation à diriger des recherches (hdr) : modelization and global constraints in constraint programming. Université Nice, P. Schaus. Balancing and bin-packing constraints in constraint programming. PhD thesis, Université catholique de Louvain, INGI,, P. Schaus, Y. Deville, P. Dupont, and J.C. Régin. Simplification and extension of spread. 3th Workshop on Constraint Propagation And Implementation, P. Schaus, Y. Deville, P. Dupont, and J.C. Régin. The deviation constraint. Proceedings of CP-AI-OR, 4510: , Pierre Schaus, Yves Deville, and Pierre Dupont. Bound-consistent deviation constraint. 13th International Conference on Principles and Practice of Constraint Programming (CP 2007), 4741, 23/09/ Paul Shaw. A constraint for bin packing. In Principles and Practice of Constraint Programming CP 2004, pages , Helmut Simonis. Models for global constraint applications. Constraints, 12:63 92, March 2007.
Integrating Benders decomposition within Constraint Programming
Integrating Benders decomposition within Constraint Programming Hadrien Cambazard, Narendra Jussien email: {hcambaza,jussien}@emn.fr École des Mines de Nantes, LINA CNRS FRE 2729 4 rue Alfred Kastler BP
The Problem of Scheduling Technicians and Interventions in a Telecommunications Company
The Problem of Scheduling Technicians and Interventions in a Telecommunications Company Sérgio Garcia Panzo Dongala November 2008 Abstract In 2007 the challenge organized by the French Society of Operational
A Constraint Programming based Column Generation Approach to Nurse Rostering Problems
Abstract A Constraint Programming based Column Generation Approach to Nurse Rostering Problems Fang He and Rong Qu The Automated Scheduling, Optimisation and Planning (ASAP) Group School of Computer Science,
A Global Constraint for Bin-Packing with Precedences: Application to the Assembly Line Balancing Problem.
A Global Constraint for Bin-Packing with Precedences: Application to the Assembly Line Balancing Problem. Pierre Schaus and Yves Deville Department of Computing Science and Engineering, University of Louvain,
Optimal shift scheduling with a global service level constraint
Optimal shift scheduling with a global service level constraint Ger Koole & Erik van der Sluis Vrije Universiteit Division of Mathematics and Computer Science De Boelelaan 1081a, 1081 HV Amsterdam The
LOOKING FOR A GOOD TIME TO BET
LOOKING FOR A GOOD TIME TO BET LAURENT SERLET Abstract. Suppose that the cards of a well shuffled deck of cards are turned up one after another. At any time-but once only- you may bet that the next card
Applied Algorithm Design Lecture 5
Applied Algorithm Design Lecture 5 Pietro Michiardi Eurecom Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 5 1 / 86 Approximation Algorithms Pietro Michiardi (Eurecom) Applied Algorithm Design
Scheduling Home Health Care with Separating Benders Cuts in Decision Diagrams
Scheduling Home Health Care with Separating Benders Cuts in Decision Diagrams André Ciré University of Toronto John Hooker Carnegie Mellon University INFORMS 2014 Home Health Care Home health care delivery
Discussion on the paper Hypotheses testing by convex optimization by A. Goldenschluger, A. Juditsky and A. Nemirovski.
Discussion on the paper Hypotheses testing by convex optimization by A. Goldenschluger, A. Juditsky and A. Nemirovski. Fabienne Comte, Celine Duval, Valentine Genon-Catalot To cite this version: Fabienne
Approximation Algorithms
Approximation Algorithms or: How I Learned to Stop Worrying and Deal with NP-Completeness Ong Jit Sheng, Jonathan (A0073924B) March, 2012 Overview Key Results (I) General techniques: Greedy algorithms
Branch-and-Price Approach to the Vehicle Routing Problem with Time Windows
TECHNISCHE UNIVERSITEIT EINDHOVEN Branch-and-Price Approach to the Vehicle Routing Problem with Time Windows Lloyd A. Fasting May 2014 Supervisors: dr. M. Firat dr.ir. M.A.A. Boon J. van Twist MSc. Contents
Notes on Factoring. MA 206 Kurt Bryan
The General Approach Notes on Factoring MA 26 Kurt Bryan Suppose I hand you n, a 2 digit integer and tell you that n is composite, with smallest prime factor around 5 digits. Finding a nontrivial factor
Big Data & Scripting Part II Streaming Algorithms
Big Data & Scripting Part II Streaming Algorithms 1, 2, a note on sampling and filtering sampling: (randomly) choose a representative subset filtering: given some criterion (e.g. membership in a set),
A Constraint Programming Application for Rotating Workforce Scheduling
A Constraint Programming Application for Rotating Workforce Scheduling Markus Triska and Nysret Musliu Database and Artificial Intelligence Group Vienna University of Technology {triska,musliu}@dbai.tuwien.ac.at
Lecture 13: Martingales
Lecture 13: Martingales 1. Definition of a Martingale 1.1 Filtrations 1.2 Definition of a martingale and its basic properties 1.3 Sums of independent random variables and related models 1.4 Products of
A hierarchical multicriteria routing model with traffic splitting for MPLS networks
A hierarchical multicriteria routing model with traffic splitting for MPLS networks João Clímaco, José Craveirinha, Marta Pascoal jclimaco@inesccpt, jcrav@deecucpt, marta@matucpt University of Coimbra
Efficient and Robust Allocation Algorithms in Clouds under Memory Constraints
Efficient and Robust Allocation Algorithms in Clouds under Memory Constraints Olivier Beaumont,, Paul Renaud-Goud Inria & University of Bordeaux Bordeaux, France 9th Scheduling for Large Scale Systems
Information Theory and Coding Prof. S. N. Merchant Department of Electrical Engineering Indian Institute of Technology, Bombay
Information Theory and Coding Prof. S. N. Merchant Department of Electrical Engineering Indian Institute of Technology, Bombay Lecture - 17 Shannon-Fano-Elias Coding and Introduction to Arithmetic Coding
FUZZY CLUSTERING ANALYSIS OF DATA MINING: APPLICATION TO AN ACCIDENT MINING SYSTEM
International Journal of Innovative Computing, Information and Control ICIC International c 0 ISSN 34-48 Volume 8, Number 8, August 0 pp. 4 FUZZY CLUSTERING ANALYSIS OF DATA MINING: APPLICATION TO AN ACCIDENT
In Search of Influential Event Organizers in Online Social Networks
In Search of Influential Event Organizers in Online Social Networks ABSTRACT Kaiyu Feng 1,2 Gao Cong 2 Sourav S. Bhowmick 2 Shuai Ma 3 1 LILY, Interdisciplinary Graduate School. Nanyang Technological University,
Load Balancing and Almost Symmetries for RAMBO Quorum Hosting
Load Balancing and Almost Symmetries for RAMBO Quorum Hosting Laurent Michel, Alexander. A. Shvartsman, Elaine Sonderegger, and Pascal Van Hentenryck 2 University of Connecticut, Storrs, CT 06269-255 2
Workforce scheduling with logical constraints: theory and applications in call centers
Workforce scheduling with logical constraints: theory and applications in call centers Gábor Danó This thesis was supervised by Sandjai Bhulai and Ger Koole Department of Mathematics Vrije Universiteit
HYBRID GENETIC ALGORITHMS FOR SCHEDULING ADVERTISEMENTS ON A WEB PAGE
HYBRID GENETIC ALGORITHMS FOR SCHEDULING ADVERTISEMENTS ON A WEB PAGE Subodha Kumar University of Washington [email protected] Varghese S. Jacob University of Texas at Dallas [email protected]
11 Ideals. 11.1 Revisiting Z
11 Ideals The presentation here is somewhat different than the text. In particular, the sections do not match up. We have seen issues with the failure of unique factorization already, e.g., Z[ 5] = O Q(
Modern Optimization Methods for Big Data Problems MATH11146 The University of Edinburgh
Modern Optimization Methods for Big Data Problems MATH11146 The University of Edinburgh Peter Richtárik Week 3 Randomized Coordinate Descent With Arbitrary Sampling January 27, 2016 1 / 30 The Problem
Mathematics Course 111: Algebra I Part IV: Vector Spaces
Mathematics Course 111: Algebra I Part IV: Vector Spaces D. R. Wilkins Academic Year 1996-7 9 Vector Spaces A vector space over some field K is an algebraic structure consisting of a set V on which are
24. The Branch and Bound Method
24. The Branch and Bound Method It has serious practical consequences if it is known that a combinatorial problem is NP-complete. Then one can conclude according to the present state of science that no
Offline sorting buffers on Line
Offline sorting buffers on Line Rohit Khandekar 1 and Vinayaka Pandit 2 1 University of Waterloo, ON, Canada. email: [email protected] 2 IBM India Research Lab, New Delhi. email: [email protected]
Heuristics for Dynamically Adapting Constraint Propagation in Constraint Programming
Heuristics for Dynamically Adapting Constraint Propagation in Constraint Programming Kostas Stergiou AI Lab University of the Aegean Greece CPAIOR 09 Workshop on Bound reduction techniques for CP and MINLP
Generating Personnel Schedules in an Industrial Setting Using a Tabu Search Algorithm
Generating Personnel Schedules in an Industrial Setting Using a Tabu Search Algorithm Pascal Tellier 1 and George White 2 1 PrairieFyre Software Inc., 555 Legget Dr., Kanata K2K 2X3, Canada [email protected]
The countdown problem
JFP 12 (6): 609 616, November 2002. c 2002 Cambridge University Press DOI: 10.1017/S0956796801004300 Printed in the United Kingdom 609 F U N C T I O N A L P E A R L The countdown problem GRAHAM HUTTON
THE SCHEDULING OF MAINTENANCE SERVICE
THE SCHEDULING OF MAINTENANCE SERVICE Shoshana Anily Celia A. Glass Refael Hassin Abstract We study a discrete problem of scheduling activities of several types under the constraint that at most a single
Chair of Software Engineering. Software Verification. Assertion Inference. Carlo A. Furia
Chair of Software Engineering Software Verification Assertion Inference Carlo A. Furia Proving Programs Automatically The Program Verification problem: Given: a program P and a specification S = [Pre,
SOLUTIONS TO ASSIGNMENT 1 MATH 576
SOLUTIONS TO ASSIGNMENT 1 MATH 576 SOLUTIONS BY OLIVIER MARTIN 13 #5. Let T be the topology generated by A on X. We want to show T = J B J where B is the set of all topologies J on X with A J. This amounts
Scheduling Jobs and Preventive Maintenance Activities on Parallel Machines
Scheduling Jobs and Preventive Maintenance Activities on Parallel Machines Maher Rebai University of Technology of Troyes Department of Industrial Systems 12 rue Marie Curie, 10000 Troyes France [email protected]
Scheduling a sequence of tasks with general completion costs
Scheduling a sequence of tasks with general completion costs Francis Sourd CNRS-LIP6 4, place Jussieu 75252 Paris Cedex 05, France [email protected] Abstract Scheduling a sequence of tasks in the acceptation
Some Polynomial Theorems. John Kennedy Mathematics Department Santa Monica College 1900 Pico Blvd. Santa Monica, CA 90405 [email protected].
Some Polynomial Theorems by John Kennedy Mathematics Department Santa Monica College 1900 Pico Blvd. Santa Monica, CA 90405 [email protected] This paper contains a collection of 31 theorems, lemmas,
! Solve problem to optimality. ! Solve problem in poly-time. ! Solve arbitrary instances of the problem. #-approximation algorithm.
Approximation Algorithms 11 Approximation Algorithms Q Suppose I need to solve an NP-hard problem What should I do? A Theory says you're unlikely to find a poly-time algorithm Must sacrifice one of three
A Tool for Generating Partition Schedules of Multiprocessor Systems
A Tool for Generating Partition Schedules of Multiprocessor Systems Hans-Joachim Goltz and Norbert Pieth Fraunhofer FIRST, Berlin, Germany {hans-joachim.goltz,nobert.pieth}@first.fraunhofer.de Abstract.
! Solve problem to optimality. ! Solve problem in poly-time. ! Solve arbitrary instances of the problem. !-approximation algorithm.
Approximation Algorithms Chapter Approximation Algorithms Q Suppose I need to solve an NP-hard problem What should I do? A Theory says you're unlikely to find a poly-time algorithm Must sacrifice one of
A search based Sudoku solver
A search based Sudoku solver Tristan Cazenave Labo IA Dept. Informatique Université Paris 8, 93526, Saint-Denis, France, [email protected] Abstract. Sudoku is a popular puzzle. In this paper we
Chapter 11. 11.1 Load Balancing. Approximation Algorithms. Load Balancing. Load Balancing on 2 Machines. Load Balancing: Greedy Scheduling
Approximation Algorithms Chapter Approximation Algorithms Q. Suppose I need to solve an NP-hard problem. What should I do? A. Theory says you're unlikely to find a poly-time algorithm. Must sacrifice one
LocalSolver: black-box local search for combinatorial optimization
LocalSolver: black-box local search for combinatorial optimization Frédéric Gardi Bouygues e-lab, Paris [email protected] Joint work with T. Benoist, J. Darlay, B. Estellon, R. Megel, K. Nouioua Bouygues
Cost Models for Vehicle Routing Problems. 8850 Stanford Boulevard, Suite 260 R. H. Smith School of Business
0-7695-1435-9/02 $17.00 (c) 2002 IEEE 1 Cost Models for Vehicle Routing Problems John Sniezek Lawerence Bodin RouteSmart Technologies Decision and Information Technologies 8850 Stanford Boulevard, Suite
Completion Time Scheduling and the WSRPT Algorithm
Completion Time Scheduling and the WSRPT Algorithm Bo Xiong, Christine Chung Department of Computer Science, Connecticut College, New London, CT {bxiong,cchung}@conncoll.edu Abstract. We consider the online
A Shift Sequence for Nurse Scheduling Using Linear Programming Problem
IOSR Journal of Nursing and Health Science (IOSR-JNHS) e-issn: 2320 1959.p- ISSN: 2320 1940 Volume 3, Issue 6 Ver. I (Nov.-Dec. 2014), PP 24-28 A Shift Sequence for Nurse Scheduling Using Linear Programming
We shall turn our attention to solving linear systems of equations. Ax = b
59 Linear Algebra We shall turn our attention to solving linear systems of equations Ax = b where A R m n, x R n, and b R m. We already saw examples of methods that required the solution of a linear system
Solving the chemotherapy outpatient scheduling problem with constraint programming
Journal of Applied Operational Research (2014) 6(3), 135 144 Tadbir Operational Research Group Ltd. All rights reserved. www.tadbir.ca ISSN 1735-8523 (Print), ISSN 1927-0089 (Online) Solving the chemotherapy
Linear Codes. Chapter 3. 3.1 Basics
Chapter 3 Linear Codes In order to define codes that we can encode and decode efficiently, we add more structure to the codespace. We shall be mainly interested in linear codes. A linear code of length
COMMUTATIVITY DEGREES OF WREATH PRODUCTS OF FINITE ABELIAN GROUPS
COMMUTATIVITY DEGREES OF WREATH PRODUCTS OF FINITE ABELIAN GROUPS IGOR V. EROVENKO AND B. SURY ABSTRACT. We compute commutativity degrees of wreath products A B of finite abelian groups A and B. When B
npsolver A SAT Based Solver for Optimization Problems
npsolver A SAT Based Solver for Optimization Problems Norbert Manthey and Peter Steinke Knowledge Representation and Reasoning Group Technische Universität Dresden, 01062 Dresden, Germany [email protected]
A Branch and Bound Algorithm for Solving the Binary Bi-level Linear Programming Problem
A Branch and Bound Algorithm for Solving the Binary Bi-level Linear Programming Problem John Karlof and Peter Hocking Mathematics and Statistics Department University of North Carolina Wilmington Wilmington,
Common Core Unit Summary Grades 6 to 8
Common Core Unit Summary Grades 6 to 8 Grade 8: Unit 1: Congruence and Similarity- 8G1-8G5 rotations reflections and translations,( RRT=congruence) understand congruence of 2 d figures after RRT Dilations
Passive Discovery Algorithms
t t Technische Universität Berlin Telecommunication Networks Group arxiv:1506.05255v1 [cs.ni] 17 Jun 2015 Optimized Asynchronous Passive Multi-Channel Discovery of Beacon-Enabled Networks Niels Karowski,
Detection of changes in variance using binary segmentation and optimal partitioning
Detection of changes in variance using binary segmentation and optimal partitioning Christian Rohrbeck Abstract This work explores the performance of binary segmentation and optimal partitioning in the
arxiv:1112.0829v1 [math.pr] 5 Dec 2011
How Not to Win a Million Dollars: A Counterexample to a Conjecture of L. Breiman Thomas P. Hayes arxiv:1112.0829v1 [math.pr] 5 Dec 2011 Abstract Consider a gambling game in which we are allowed to repeatedly
Stochastic Inventory Control
Chapter 3 Stochastic Inventory Control 1 In this chapter, we consider in much greater details certain dynamic inventory control problems of the type already encountered in section 1.3. In addition to the
You know from calculus that functions play a fundamental role in mathematics.
CHPTER 12 Functions You know from calculus that functions play a fundamental role in mathematics. You likely view a function as a kind of formula that describes a relationship between two (or more) quantities.
= 2 + 1 2 2 = 3 4, Now assume that P (k) is true for some fixed k 2. This means that
Instructions. Answer each of the questions on your own paper, and be sure to show your work so that partial credit can be adequately assessed. Credit will not be given for answers (even correct ones) without
Ideal Class Group and Units
Chapter 4 Ideal Class Group and Units We are now interested in understanding two aspects of ring of integers of number fields: how principal they are (that is, what is the proportion of principal ideals
International Journal of Information Technology, Modeling and Computing (IJITMC) Vol.1, No.3,August 2013
FACTORING CRYPTOSYSTEM MODULI WHEN THE CO-FACTORS DIFFERENCE IS BOUNDED Omar Akchiche 1 and Omar Khadir 2 1,2 Laboratory of Mathematics, Cryptography and Mechanics, Fstm, University of Hassan II Mohammedia-Casablanca,
On the representability of the bi-uniform matroid
On the representability of the bi-uniform matroid Simeon Ball, Carles Padró, Zsuzsa Weiner and Chaoping Xing August 3, 2012 Abstract Every bi-uniform matroid is representable over all sufficiently large
Dimensioning an inbound call center using constraint programming
Dimensioning an inbound call center using constraint programming Cyril Canon 1,2, Jean-Charles Billaut 2, and Jean-Louis Bouquard 2 1 Vitalicom, 643 avenue du grain d or, 41350 Vineuil, France [email protected]
Nan Kong, Andrew J. Schaefer. Department of Industrial Engineering, Univeristy of Pittsburgh, PA 15261, USA
A Factor 1 2 Approximation Algorithm for Two-Stage Stochastic Matching Problems Nan Kong, Andrew J. Schaefer Department of Industrial Engineering, Univeristy of Pittsburgh, PA 15261, USA Abstract We introduce
Solve addition and subtraction word problems, and add and subtract within 10, e.g., by using objects or drawings to represent the problem.
Solve addition and subtraction word problems, and add and subtract within 10, e.g., by using objects or drawings to represent the problem. Solve word problems that call for addition of three whole numbers
About the inverse football pool problem for 9 games 1
Seventh International Workshop on Optimal Codes and Related Topics September 6-1, 013, Albena, Bulgaria pp. 15-133 About the inverse football pool problem for 9 games 1 Emil Kolev Tsonka Baicheva Institute
Large induced subgraphs with all degrees odd
Large induced subgraphs with all degrees odd A.D. Scott Department of Pure Mathematics and Mathematical Statistics, University of Cambridge, England Abstract: We prove that every connected graph of order
1 Introductory Comments. 2 Bayesian Probability
Introductory Comments First, I would like to point out that I got this material from two sources: The first was a page from Paul Graham s website at www.paulgraham.com/ffb.html, and the second was a paper
2. Simple Linear Regression
Research methods - II 3 2. Simple Linear Regression Simple linear regression is a technique in parametric statistics that is commonly used for analyzing mean response of a variable Y which changes according
The Ideal Class Group
Chapter 5 The Ideal Class Group We will use Minkowski theory, which belongs to the general area of geometry of numbers, to gain insight into the ideal class group of a number field. We have already mentioned
Compact Representations and Approximations for Compuation in Games
Compact Representations and Approximations for Compuation in Games Kevin Swersky April 23, 2008 Abstract Compact representations have recently been developed as a way of both encoding the strategic interactions
15.062 Data Mining: Algorithms and Applications Matrix Math Review
.6 Data Mining: Algorithms and Applications Matrix Math Review The purpose of this document is to give a brief review of selected linear algebra concepts that will be useful for the course and to develop
A Robust Formulation of the Uncertain Set Covering Problem
A Robust Formulation of the Uncertain Set Covering Problem Dirk Degel Pascal Lutter Chair of Management, especially Operations Research Ruhr-University Bochum Universitaetsstrasse 150, 44801 Bochum, Germany
CPC/CPA Hybrid Bidding in a Second Price Auction
CPC/CPA Hybrid Bidding in a Second Price Auction Benjamin Edelman Hoan Soo Lee Working Paper 09-074 Copyright 2008 by Benjamin Edelman and Hoan Soo Lee Working papers are in draft form. This working paper
INTEGER PROGRAMMING. Integer Programming. Prototype example. BIP model. BIP models
Integer Programming INTEGER PROGRAMMING In many problems the decision variables must have integer values. Example: assign people, machines, and vehicles to activities in integer quantities. If this is
DYNAMIC RANGE IMPROVEMENT THROUGH MULTIPLE EXPOSURES. Mark A. Robertson, Sean Borman, and Robert L. Stevenson
c 1999 IEEE. Personal use of this material is permitted. However, permission to reprint/republish this material for advertising or promotional purposes or for creating new collective works for resale or
Lecture 6 Online and streaming algorithms for clustering
CSE 291: Unsupervised learning Spring 2008 Lecture 6 Online and streaming algorithms for clustering 6.1 On-line k-clustering To the extent that clustering takes place in the brain, it happens in an on-line
A Negative Result Concerning Explicit Matrices With The Restricted Isometry Property
A Negative Result Concerning Explicit Matrices With The Restricted Isometry Property Venkat Chandar March 1, 2008 Abstract In this note, we prove that matrices whose entries are all 0 or 1 cannot achieve
NOTES ON LINEAR TRANSFORMATIONS
NOTES ON LINEAR TRANSFORMATIONS Definition 1. Let V and W be vector spaces. A function T : V W is a linear transformation from V to W if the following two properties hold. i T v + v = T v + T v for all
Chapter 111. Texas Essential Knowledge and Skills for Mathematics. Subchapter B. Middle School
Middle School 111.B. Chapter 111. Texas Essential Knowledge and Skills for Mathematics Subchapter B. Middle School Statutory Authority: The provisions of this Subchapter B issued under the Texas Education
SUBGROUPS OF CYCLIC GROUPS. 1. Introduction In a group G, we denote the (cyclic) group of powers of some g G by
SUBGROUPS OF CYCLIC GROUPS KEITH CONRAD 1. Introduction In a group G, we denote the (cyclic) group of powers of some g G by g = {g k : k Z}. If G = g, then G itself is cyclic, with g as a generator. Examples
Scheduling Shop Scheduling. Tim Nieberg
Scheduling Shop Scheduling Tim Nieberg Shop models: General Introduction Remark: Consider non preemptive problems with regular objectives Notation Shop Problems: m machines, n jobs 1,..., n operations
A Mathematical Programming Solution to the Mars Express Memory Dumping Problem
A Mathematical Programming Solution to the Mars Express Memory Dumping Problem Giovanni Righini and Emanuele Tresoldi Dipartimento di Tecnologie dell Informazione Università degli Studi di Milano Via Bramante
Algorithm Design and Analysis
Algorithm Design and Analysis LECTURE 27 Approximation Algorithms Load Balancing Weighted Vertex Cover Reminder: Fill out SRTEs online Don t forget to click submit Sofya Raskhodnikova 12/6/2011 S. Raskhodnikova;
