fbpx
Wikipedia

Interval scheduling

Interval scheduling is a class of problems in computer science, particularly in the area of algorithm design. The problems consider a set of tasks. Each task is represented by an interval describing the time in which it needs to be processed by some machine (or, equivalently, scheduled on some resource). For instance, task A might run from 2:00 to 5:00, task B might run from 4:00 to 10:00 and task C might run from 9:00 to 11:00. A subset of intervals is compatible if no two intervals overlap on the machine/resource. For example, the subset {A,C} is compatible, as is the subset {B}; but neither {A,B} nor {B,C} are compatible subsets, because the corresponding intervals within each subset overlap.

The interval scheduling maximization problem (ISMP) is to find a largest compatible set, i.e., a set of non-overlapping intervals of maximum size. The goal here is to execute as many tasks as possible, that is, to maximize the throughput. It is equivalent to finding a maximum independent set in an interval graph.

A generalization of the problem considers machines/resources.[1] Here the goal is to find compatible subsets whose union is the largest.

In an upgraded version of the problem, the intervals are partitioned into groups. A subset of intervals is compatible if no two intervals overlap, and moreover, no two intervals belong to the same group (i.e., the subset contains at most a single representative of each group). Each group of intervals corresponds to a single task, and represents several alternative intervals in which it can be executed.

The group interval scheduling decision problem (GISDP) is to decide whether there exists a compatible set in which all groups are represented. The goal here is to execute a single representative task from each group. GISDPk is a restricted version of GISDP in which the number of intervals in each group is at most k.

The group interval scheduling maximization problem (GISMP) is to find a largest compatible set - a set of non-overlapping representatives of maximum size. The goal here is to execute a representative task from as many groups as possible. GISMPk is a restricted version of GISMP in which the number of intervals in each group is at most k. This problem is often called JISPk, where J stands for Job.

GISMP is the most general problem; the other two problems can be seen as special cases of it:

  • ISMP is the special case in which each task belongs to its own group (i.e. it is equal to GISMP1).
  • GISDP is the problem of deciding whether the maximum exactly equals the number of groups.

All these problems can be generalized by adding a weight for each interval, representing the profit from executing the task in that interval. Then, the goal is to maximize the total weight.

All these problems are special cases of single-machine scheduling, since they assume that all tasks must run on a single processor. Single-machine scheduling is a special case of optimal job scheduling.

Single-Interval Scheduling Maximization edit

Single-interval scheduling refers to creating an interval schedule in which no intervals overlap.

Unweighted edit

Several algorithms, that may look promising at first sight, actually do not find the optimal solution:[2]

  • Selecting the intervals that start earliest is not an optimal solution, because if the earliest interval happens to be very long, accepting it would make us reject many other shorter requests.
  • Selecting the shortest intervals or selecting intervals with the fewest conflicts is also not optimal.

The following greedy algorithm, called Earliest deadline first scheduling, does find the optimal solution for unweighted single-interval scheduling:

  1. Select the interval, x, with the earliest finishing time.
  2. Remove x, and all intervals intersecting x, from the set of candidate intervals.
  3. Repeat until the set of candidate intervals is empty.

Whenever we select an interval at step 1, we may have to remove many intervals in step 2. However, all these intervals necessarily cross the finishing time of x, and thus they all cross each other. Hence, at most 1 of these intervals can be in the optimal solution. Hence, for every interval in the optimal solution, there is an interval in the greedy solution. This proves that the greedy algorithm indeed finds an optimal solution.

A more formal explanation is given by a Charging argument.

The greedy algorithm can be executed in time O(n log n), where n is the number of tasks, using a preprocessing step in which the tasks are sorted by their finishing times.

Weighted edit

Problems involving weighted interval scheduling are equivalent to finding a maximum-weight independent set in an interval graph. Such problems can be solved in polynomial time.[3]

Assuming the vectors are sorted from earliest to latest finish time, the following pseudocode determines the maximum weight of a single-interval schedule in Θ(n) time:

// The vectors are already sorted from earliest to latest finish time. int v[numOfVectors + 1]; // list of interval vectors int w[numOfVectors + 1]; // w[j] is the weight for v[j]. int p[numOfVectors + 1]; // p[j] is the # of vectors that end before v[j] begins. int M[numOfVectors + 1];  int finalSchedule[];  // v[0] does not exist, and the first interval vector is assigned to v[1]. w[0] = 0; p[0] = 0; M[0] = 0;  // The following code determines the value of M for each vector. // The maximum weight of the schedule is equal to M[numOfVectors]. for (int i = 1; i < numOfVectors + 1; i++) {  M[i] = max(w[i] + M[p[i]], M[i - 1]); }  // Function to construct the optimal schedule schedule (j) {  if (j == 0) { return; }  else if (w[j] + M[p[j]] >= M[j - 1]){  prepend(v[j], finalSchedule); // prepends v[j] to schedule.  schedule(p[j]);  } else { schedule(j - 1); } } 

[4]

Example edit

If we have the following 9 vectors sorted by finish time, with the weights above each corresponding interval, we can determine which of these vectors are included in our maximum weight schedule which only contains a subset of the following vectors.

 

Here, we input our final vector (where j=9 in this example) into our schedule function from the code block above. We perform the actions in the table below until j is set to 0, at which point, we only include into our final schedule the encountered intervals which met the   requirement. This final schedule is the schedule with the maximum weight.

j Calculation  

(i.e. This vector is included in the final schedule)

Set j to
9   True j=p[j]=p[9]=6
6   True j=p[j]=p[6]=4
4   False j=j-1=4-1=3
3   True j=p[j]=p[3]=1
1   True j=p[j]=p[1]=0

Group Interval Scheduling Decision edit

NP-complete when some groups contain 3 or more intervals edit

GISDPk is NP-complete when  ,[5] even when all intervals have the same length.[6] This can be shown by a reduction from the following version of the Boolean satisfiability problem, which was shown [7] to be NP-complete likewise to the unrestricted version.

Let   be a set of Boolean variables. Let   be a set of clauses over X such that (1) each clause in C has at most three literals and (2) each variable is restricted to appear once or twice positively and once negatively overall in C. Decide whether there is an assignment to variables of X such that each clause in C has at least one true literal.

Given an instance of this satisfiability problem, construct the following instance of GISDP. All intervals have a length of 3, so it is sufficient to represent each interval by its starting time:

  • For every variable   (for i=1,...,p), create a group with two intervals: one starting at   (representing the assignment  ) and another starting at   (representing the assignment  ).
  • For every clause   (for j=1,...,q), create a group with the following intervals:
    • For every variable   that appears positively for the first time in C — an interval starting at  .
    • For every variable   that appears positively for the second time in C — an interval starting at  . Note that both these intervals intersect the interval  , associated with  .
    • For every variable   that appears negatively - an interval starting at  . This interval intersects the interval   associated with  .

Note that there is no overlap between intervals in groups associated with different clauses. This is ensured since a variable appears at most twice positively and once negatively.

The constructed GISDP has a feasible solution (i.e. a scheduling in which each group is represented), if and only if the given set of boolean clauses has a satisfying assignment. Hence GISDP3 is NP-complete, and so is GISDPk for every  .

Polynomial when all groups contain at most 2 intervals edit

GISDP2 can be solved at polynomial time by the following reduction to the 2-satisfiability problem:[6]

  • For every group i create two variables, representing its two intervals:   and  .
  • For every group i, create the clauses:   and  , which represent the assertion that exactly one of these two intervals should be selected.
  • For every two intersecting intervals (i.e.   and  ) create the clause:  , which represent the assertion that at most one of these two intervals should be selected.

This construction contains at most O(n2) clauses (one for each intersection between intervals, plus two for each group). Each clause contains 2 literals. The satisfiability of such formulas can be decided in time linear in the number of clauses (see 2-SAT). Therefore, the GISDP2 can be solved in polynomial time.

Group Interval Scheduling Maximization edit

MaxSNP-complete when some groups contain 2 or more intervals edit

GISMPk is NP-complete even when  .[8]

Moreover, GISMPk is MaxSNP-complete, i.e., it does not have a PTAS unless P=NP. This can be proved by showing an approximation-preserving reduction from MAX 3-SAT-3 to GISMP2.[8]

Polynomial 2-approximation edit

The following greedy algorithm finds a solution that contains at least 1/2 of the optimal number of intervals:[8]

  1. Select the interval, x, with the earliest finishing time.
  2. Remove x, and all intervals intersecting x, and all intervals in the same group of x, from the set of candidate intervals.
  3. Continue until the set of candidate intervals is empty.

A formal explanation is given by a Charging argument.

The approximation factor of 2 is tight. For example, in the following instance of GISMP2:

  • Group #1: {[0..2], [4..6]}
  • Group #2: {[1..3]}

The greedy algorithm selects only 1 interval [0..2] from group #1, while an optimal scheduling is to select [1..3] from group #2 and then [4..6] from group #1.

A more general approximation algorithm attains a 2-factor approximation for the weighted case.[3]

LP-based approximation algorithms edit

Using the technique of Linear programming relaxation, it is possible to approximate the optimal scheduling with slightly better approximation factors. The approximation ratio of the first such algorithm is asymptotically 2 when k is large, but when k=2 the algorithm achieves an approximation ratio of 5/3.[8] The approximation factor for arbitrary k was later improved to 1.582.[9]

Related problems edit

An interval scheduling problem can be described by an intersection graph, where each vertex is an interval, and there is an edge between two vertices if and only if their intervals overlap. In this representation, the interval scheduling problem is equivalent to finding the maximum independent set in this intersection graph. Finding a maximum independent set is NP-hard in general graphs, but it can be done in polynomial time in the special case of intersection graphs (ISMP).

A group-interval scheduling problem (GISMPk) can be described by a similar interval-intersection graph, with additional edges between each two intervals of the same group, i.e., this is the edge union of an interval graph and a graph consisting of n disjoint cliques of size k.

Variations edit

An important class of scheduling algorithms is the class of dynamic priority algorithms. When none of the intervals overlap the optimum solution is trivial. The optimum for the non-weighted version can found with the earliest deadline first scheduling. Weighted interval scheduling is a generalization where a value is assigned to each executed task and the goal is to maximize the total value. The solution need not be unique.

The interval scheduling problem is 1-dimensional – only the time dimension is relevant. The Maximum disjoint set problem is a generalization to 2 or more dimensions. This generalization, too, is NP-complete.

Another variation is resource allocation, in which a set of intervals s are scheduled using resources k such that k is minimized. That is, all the intervals must be scheduled, but the objective is to minimize the usage of resources.

Another variation is when there are m processors instead of a single processor. I.e., m different tasks can run in parallel. See identical-machines scheduling.

Single-machine scheduling is also a very similar problem.

Sources edit

  1. ^ Kolen, A. (2007). "Interval scheduling: A survey". Naval Research Logistics. 54 (5): 530–543. doi:10.1002/nav.20231. S2CID 15288326.
  2. ^ Kleinberg, Jon; Tardos, Éva (2006). Algorithm Design. Pearson/Addison-Wesley. ISBN 978-0-321-29535-4.
  3. ^ a b Bar-Noy, Amotz; Bar-Yehuda, Reuven; Freund, Ari; (Seffi) Naor, Joseph; Schieber, Baruch (2001-09-01). "A unified approach to approximating resource allocation and scheduling". Journal of the ACM. 48 (5): 1069–1090. doi:10.1145/502102.502107. ISSN 0004-5411. S2CID 12329294.
  4. ^ Kleinberg, Jon; Tardos, Eva (2006). Algorithm Design (1st ed.). Pearson. p. 254. ISBN 9780321295354.
  5. ^ Nakajima, K.; Hakimi, S. L. (1982). "Complexity results for scheduling tasks with discrete starting times". Journal of Algorithms. 3 (4): 344. doi:10.1016/0196-6774(82)90030-X.
  6. ^ a b Mark Keil, J. (1992). "On the complexity of scheduling tasks with discrete starting times". Operations Research Letters. 12 (5): 293–295. doi:10.1016/0167-6377(92)90087-j.
  7. ^ Papadimitriou, Christos H.; Steiglitz, Kenneth (July 1998). Combinatorial Optimization : Algorithms and Complexity. Dover. ISBN 978-0-486-40258-1.
  8. ^ a b c d Spieksma, F. C. R. (1999). "On the approximability of an interval scheduling problem". Journal of Scheduling. 2 (5): 215–227. CiteSeerX 10.1.1.603.5538. doi:10.1002/(sici)1099-1425(199909/10)2:5<215::aid-jos27>3.0.co;2-y. citing Kolen in personal communication
  9. ^ Chuzhoy, Julia; Ostrovsky, Rafail; Rabani, Yuval (2006). "Approximation Algorithms for the Job Interval Selection Problem and Related Scheduling Problems". Mathematics of Operations Research. 31 (4): 730–738. CiteSeerX 10.1.1.105.2578. doi:10.1287/moor.1060.0218.

interval, scheduling, class, problems, computer, science, particularly, area, algorithm, design, problems, consider, tasks, each, task, represented, interval, describing, time, which, needs, processed, some, machine, equivalently, scheduled, some, resource, in. Interval scheduling is a class of problems in computer science particularly in the area of algorithm design The problems consider a set of tasks Each task is represented by an interval describing the time in which it needs to be processed by some machine or equivalently scheduled on some resource For instance task A might run from 2 00 to 5 00 task B might run from 4 00 to 10 00 and task C might run from 9 00 to 11 00 A subset of intervals is compatible if no two intervals overlap on the machine resource For example the subset A C is compatible as is the subset B but neither A B nor B C are compatible subsets because the corresponding intervals within each subset overlap The interval scheduling maximization problem ISMP is to find a largest compatible set i e a set of non overlapping intervals of maximum size The goal here is to execute as many tasks as possible that is to maximize the throughput It is equivalent to finding a maximum independent set in an interval graph A generalization of the problem considers k gt 1 displaystyle k gt 1 machines resources 1 Here the goal is to find k displaystyle k compatible subsets whose union is the largest In an upgraded version of the problem the intervals are partitioned into groups A subset of intervals is compatible if no two intervals overlap and moreover no two intervals belong to the same group i e the subset contains at most a single representative of each group Each group of intervals corresponds to a single task and represents several alternative intervals in which it can be executed The group interval scheduling decision problem GISDP is to decide whether there exists a compatible set in which all groups are represented The goal here is to execute a single representative task from each group GISDPk is a restricted version of GISDP in which the number of intervals in each group is at most k The group interval scheduling maximization problem GISMP is to find a largest compatible set a set of non overlapping representatives of maximum size The goal here is to execute a representative task from as many groups as possible GISMPk is a restricted version of GISMP in which the number of intervals in each group is at most k This problem is often called JISPk where J stands for Job GISMP is the most general problem the other two problems can be seen as special cases of it ISMP is the special case in which each task belongs to its own group i e it is equal to GISMP1 GISDP is the problem of deciding whether the maximum exactly equals the number of groups All these problems can be generalized by adding a weight for each interval representing the profit from executing the task in that interval Then the goal is to maximize the total weight All these problems are special cases of single machine scheduling since they assume that all tasks must run on a single processor Single machine scheduling is a special case of optimal job scheduling Contents 1 Single Interval Scheduling Maximization 1 1 Unweighted 1 2 Weighted 1 2 1 Example 2 Group Interval Scheduling Decision 2 1 NP complete when some groups contain 3 or more intervals 2 2 Polynomial when all groups contain at most 2 intervals 3 Group Interval Scheduling Maximization 3 1 MaxSNP complete when some groups contain 2 or more intervals 3 2 Polynomial 2 approximation 3 3 LP based approximation algorithms 4 Related problems 5 Variations 6 SourcesSingle Interval Scheduling Maximization editSingle interval scheduling refers to creating an interval schedule in which no intervals overlap Unweighted edit Several algorithms that may look promising at first sight actually do not find the optimal solution 2 Selecting the intervals that start earliest is not an optimal solution because if the earliest interval happens to be very long accepting it would make us reject many other shorter requests Selecting the shortest intervals or selecting intervals with the fewest conflicts is also not optimal The following greedy algorithm called Earliest deadline first scheduling does find the optimal solution for unweighted single interval scheduling Select the interval x with the earliest finishing time Remove x and all intervals intersecting x from the set of candidate intervals Repeat until the set of candidate intervals is empty Whenever we select an interval at step 1 we may have to remove many intervals in step 2 However all these intervals necessarily cross the finishing time of x and thus they all cross each other Hence at most 1 of these intervals can be in the optimal solution Hence for every interval in the optimal solution there is an interval in the greedy solution This proves that the greedy algorithm indeed finds an optimal solution A more formal explanation is given by a Charging argument The greedy algorithm can be executed in time O n log n where n is the number of tasks using a preprocessing step in which the tasks are sorted by their finishing times Weighted edit Problems involving weighted interval scheduling are equivalent to finding a maximum weight independent set in an interval graph Such problems can be solved in polynomial time 3 Assuming the vectors are sorted from earliest to latest finish time the following pseudocode determines the maximum weight of a single interval schedule in 8 n time The vectors are already sorted from earliest to latest finish time int v numOfVectors 1 list of interval vectors int w numOfVectors 1 w j is the weight for v j int p numOfVectors 1 p j is the of vectors that end before v j begins int M numOfVectors 1 int finalSchedule v 0 does not exist and the first interval vector is assigned to v 1 w 0 0 p 0 0 M 0 0 The following code determines the value of M for each vector The maximum weight of the schedule is equal to M numOfVectors for int i 1 i lt numOfVectors 1 i M i max w i M p i M i 1 Function to construct the optimal schedule schedule j if j 0 return else if w j M p j gt M j 1 prepend v j finalSchedule prepends v j to schedule schedule p j else schedule j 1 4 Example edit If we have the following 9 vectors sorted by finish time with the weights above each corresponding interval we can determine which of these vectors are included in our maximum weight schedule which only contains a subset of the following vectors nbsp Here we input our final vector where j 9 in this example into our schedule function from the code block above We perform the actions in the table below until j is set to 0 at which point we only include into our final schedule the encountered intervals which met the w j M p j M j 1 textstyle w j M p j geq M j 1 nbsp requirement This final schedule is the schedule with the maximum weight j Calculation w j M p j M j 1 textstyle w j M p j geq M j 1 nbsp i e This vector is included in the final schedule Set j to9 w j M p j w 9 M p 9 5 M 6 5 16 21M j 1 M 9 1 M 8 20 displaystyle begin aligned amp w j M p j w 9 M p 9 5 M 6 5 16 21 amp M j 1 M 9 1 M 8 20 end aligned nbsp True j p j p 9 66 w j M p j w 6 M p 6 5 M 4 5 11 16M j 1 M 6 1 M 5 11 displaystyle begin aligned amp w j M p j w 6 M p 6 5 M 4 5 11 16 amp M j 1 M 6 1 M 5 11 end aligned nbsp True j p j p 6 44 w j M p j w 4 M p 4 3 M 1 3 5 8M j 1 M 4 1 M 3 11 displaystyle begin aligned amp w j M p j w 4 M p 4 3 M 1 3 5 8 amp M j 1 M 4 1 M 3 11 end aligned nbsp False j j 1 4 1 33 w j M p j w 3 M p 3 6 M 1 6 5 11M j 1 M 3 1 M 2 5 displaystyle begin aligned amp w j M p j w 3 M p 3 6 M 1 6 5 11 amp M j 1 M 3 1 M 2 5 end aligned nbsp True j p j p 3 11 w j M p j w 1 M p 1 5 M 0 5 0 5M j 1 M 1 1 M 0 0 displaystyle begin aligned amp w j M p j w 1 M p 1 5 M 0 5 0 5 amp M j 1 M 1 1 M 0 0 end aligned nbsp True j p j p 1 0Group Interval Scheduling Decision editNP complete when some groups contain 3 or more intervals edit GISDPk is NP complete when k 3 displaystyle k geq 3 nbsp 5 even when all intervals have the same length 6 This can be shown by a reduction from the following version of the Boolean satisfiability problem which was shown 7 to be NP complete likewise to the unrestricted version Let X x1 x2 xp displaystyle X x 1 x 2 dots x p nbsp be a set of Boolean variables Let C c1 c2 cq displaystyle C c 1 c 2 dots c q nbsp be a set of clauses over X such that 1 each clause in C has at most three literals and 2 each variable is restricted to appear once or twice positively and once negatively overall in C Decide whether there is an assignment to variables of X such that each clause in C has at least one true literal dd Given an instance of this satisfiability problem construct the following instance of GISDP All intervals have a length of 3 so it is sufficient to represent each interval by its starting time For every variable xi displaystyle x i nbsp for i 1 p create a group with two intervals one starting at 50i 10 displaystyle 50i 10 nbsp representing the assignment xi false displaystyle x i mathrm false nbsp and another starting at 50i 10 displaystyle 50i 10 nbsp representing the assignment xi true displaystyle x i mathrm true nbsp For every clause cj displaystyle c j nbsp for j 1 q create a group with the following intervals For every variable xi displaystyle x i nbsp that appears positively for the first time in C an interval starting at 50i 12 displaystyle 50i 12 nbsp For every variable xi displaystyle x i nbsp that appears positively for the second time in C an interval starting at 50i 8 displaystyle 50i 8 nbsp Note that both these intervals intersect the interval 50i 10 displaystyle 50i 10 nbsp associated with xi false displaystyle x i mathrm false nbsp For every variable xi displaystyle x i nbsp that appears negatively an interval starting at 50i 8 displaystyle 50i 8 nbsp This interval intersects the interval 50i 10 displaystyle 50i 10 nbsp associated with xi true displaystyle x i text true nbsp Note that there is no overlap between intervals in groups associated with different clauses This is ensured since a variable appears at most twice positively and once negatively The constructed GISDP has a feasible solution i e a scheduling in which each group is represented if and only if the given set of boolean clauses has a satisfying assignment Hence GISDP3 is NP complete and so is GISDPk for every k 3 displaystyle k geq 3 nbsp Polynomial when all groups contain at most 2 intervals edit GISDP2 can be solved at polynomial time by the following reduction to the 2 satisfiability problem 6 For every group i create two variables representing its two intervals xi displaystyle x i nbsp and yi displaystyle y i nbsp For every group i create the clauses xi yi displaystyle x i cup y i nbsp and xi yi displaystyle neg x i cup neg y i nbsp which represent the assertion that exactly one of these two intervals should be selected For every two intersecting intervals i e xi displaystyle x i nbsp and yj displaystyle y j nbsp create the clause xi yj displaystyle neg x i cup neg y j nbsp which represent the assertion that at most one of these two intervals should be selected This construction contains at most O n2 clauses one for each intersection between intervals plus two for each group Each clause contains 2 literals The satisfiability of such formulas can be decided in time linear in the number of clauses see 2 SAT Therefore the GISDP2 can be solved in polynomial time Group Interval Scheduling Maximization editMaxSNP complete when some groups contain 2 or more intervals edit GISMPk is NP complete even when k 2 displaystyle k geq 2 nbsp 8 Moreover GISMPk is MaxSNP complete i e it does not have a PTAS unless P NP This can be proved by showing an approximation preserving reduction from MAX 3 SAT 3 to GISMP2 8 Polynomial 2 approximation edit The following greedy algorithm finds a solution that contains at least 1 2 of the optimal number of intervals 8 Select the interval x with the earliest finishing time Remove x and all intervals intersecting x and all intervals in the same group of x from the set of candidate intervals Continue until the set of candidate intervals is empty A formal explanation is given by a Charging argument The approximation factor of 2 is tight For example in the following instance of GISMP2 Group 1 0 2 4 6 Group 2 1 3 The greedy algorithm selects only 1 interval 0 2 from group 1 while an optimal scheduling is to select 1 3 from group 2 and then 4 6 from group 1 A more general approximation algorithm attains a 2 factor approximation for the weighted case 3 LP based approximation algorithms edit Using the technique of Linear programming relaxation it is possible to approximate the optimal scheduling with slightly better approximation factors The approximation ratio of the first such algorithm is asymptotically 2 when k is large but when k 2 the algorithm achieves an approximation ratio of 5 3 8 The approximation factor for arbitrary k was later improved to 1 582 9 Related problems editAn interval scheduling problem can be described by an intersection graph where each vertex is an interval and there is an edge between two vertices if and only if their intervals overlap In this representation the interval scheduling problem is equivalent to finding the maximum independent set in this intersection graph Finding a maximum independent set is NP hard in general graphs but it can be done in polynomial time in the special case of intersection graphs ISMP A group interval scheduling problem GISMPk can be described by a similar interval intersection graph with additional edges between each two intervals of the same group i e this is the edge union of an interval graph and a graph consisting of n disjoint cliques of size k Variations editAn important class of scheduling algorithms is the class of dynamic priority algorithms When none of the intervals overlap the optimum solution is trivial The optimum for the non weighted version can found with the earliest deadline first scheduling Weighted interval scheduling is a generalization where a value is assigned to each executed task and the goal is to maximize the total value The solution need not be unique The interval scheduling problem is 1 dimensional only the time dimension is relevant The Maximum disjoint set problem is a generalization to 2 or more dimensions This generalization too is NP complete Another variation is resource allocation in which a set of intervals s are scheduled using resources k such that k is minimized That is all the intervals must be scheduled but the objective is to minimize the usage of resources Another variation is when there are m processors instead of a single processor I e m different tasks can run in parallel See identical machines scheduling Single machine scheduling is also a very similar problem Sources edit Kolen A 2007 Interval scheduling A survey Naval Research Logistics 54 5 530 543 doi 10 1002 nav 20231 S2CID 15288326 Kleinberg Jon Tardos Eva 2006 Algorithm Design Pearson Addison Wesley ISBN 978 0 321 29535 4 a b Bar Noy Amotz Bar Yehuda Reuven Freund Ari Seffi Naor Joseph Schieber Baruch 2001 09 01 A unified approach to approximating resource allocation and scheduling Journal of the ACM 48 5 1069 1090 doi 10 1145 502102 502107 ISSN 0004 5411 S2CID 12329294 Kleinberg Jon Tardos Eva 2006 Algorithm Design 1st ed Pearson p 254 ISBN 9780321295354 Nakajima K Hakimi S L 1982 Complexity results for scheduling tasks with discrete starting times Journal of Algorithms 3 4 344 doi 10 1016 0196 6774 82 90030 X a b Mark Keil J 1992 On the complexity of scheduling tasks with discrete starting times Operations Research Letters 12 5 293 295 doi 10 1016 0167 6377 92 90087 j Papadimitriou Christos H Steiglitz Kenneth July 1998 Combinatorial Optimization Algorithms and Complexity Dover ISBN 978 0 486 40258 1 a b c d Spieksma F C R 1999 On the approximability of an interval scheduling problem Journal of Scheduling 2 5 215 227 CiteSeerX 10 1 1 603 5538 doi 10 1002 sici 1099 1425 199909 10 2 5 lt 215 aid jos27 gt 3 0 co 2 y citing Kolen in personal communication Chuzhoy Julia Ostrovsky Rafail Rabani Yuval 2006 Approximation Algorithms for the Job Interval Selection Problem and Related Scheduling Problems Mathematics of Operations Research 31 4 730 738 CiteSeerX 10 1 1 105 2578 doi 10 1287 moor 1060 0218 Retrieved from https en wikipedia org w index php title Interval scheduling amp oldid 1217592677, wikipedia, wiki, book, books, library,

article

, read, download, free, free download, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, picture, music, song, movie, book, game, games.