Midterm Topics

  1. All the scheduling models covered in class. For each one, know the best algorithm, and whether it is NP-complete or not.
  2. For a "new" scheduling model, not covered in class, but related to one covered in class, you should be able to figure out the best algorithm, or whether it is NP-complete.
  3. You should be able to do an NP-completeness proof.
  4. You should be able to do an exchange argument proof.
  5. You should be able to model a scheduling problem as a linear program.
  6. You should be able to solve a scheduling problem by branch-and-bound.
  7. You should be able to solve a scheduling problem by dynamic programming.
  8. You should be able to evaluate the approximation ratio of an algorithm.
  9. You should understand and be able to derive lower bounds on scheduling problems.
  10. You should understand scheduling notation.
  11. Some simple algorithms we have used:
    1. SPT
    2. LPT
    3. EDD
    4. SRPT
    5. preemptive EDD
    6. LRPT-FM
    7. SRPT-FM
    8. Least Cost Last
    9. List Scheduling
    10. CP - Schedule along critical path
    11. LNS - Schedule job with largest number of successors.