PSU CS410/510SS: Search and Scheduling
Lecture 5
Realistic Scheduling Problems
Administrative
- Homework 3: look at it now
- Project teams
- Syllabus change
- Reading for next week (online)
- Search Research?
Lecture 5
- Brucker: OR Scheduling Notation
  
  - Basics
    
    - Machines M
    
- Jobs J
    
- Operations O: sub-jobs
    
- Machines for O; mu: resources used by O
    
- Cost f: may be function of t
    
 
- Job Characteristics: we care mostly about
     
     - no preemption
     
- arbitrary precedence (DAG)
     
- problems with and without release times
     
- no special processing requirements
     
- problems with and without deadlines
     
 
- Machine Environment: we care mostly about
    
    - QMPM or less
    
- 1 operation per job
    
- Job-shop problems
    
 
- Objectives
    
    - bottleneck/makespan
    
- rarely sum
    
- very common to hack objective together
    
- Why regular (monotonic) objectives?
    
 
- Active (left-most) and semi-active (left-shifted)
      schedules.
  
 
- Brucker: Common Manufacturing Scheduling Domains
  
  - Disjunctive Graphs
  
- Various Shop Problems
    
    - Open Shop
      
      - Each job has m operations, m machines
      
- Operation Oij requires machine j
      
- Polytime for O2 (w. proof)
      
 
- Flow Shop
      
      - Open Shop restricted to Oij
          in j order
      
- Polytime for F2 (w. proof sketch)
      
- Permutation Flow Shop = Flow Shop with every
          machine processing jobs in a given order
      
 
- Job Shop
      
      - Flow Shop generalized to
        
	- Allow arbitrary number n of jobs
	
- Require Oij to be
          processed on some given machine
	  muij
	
 
- WLOG muij not equal to mui,j+1
      
- Very extensively studied
      
- Famous benchmark: Sadeh (Micro-BOSS) synthetics [Project?]
      
- Heuristics
      
 
 
 
- Brucker: Techniques For NP-hard Scheduling
  
  - DFBnB on disjunctive graphs
    
    - Disjunctive graphs = precedence based
    
- ``Critical path''
    
- Branching scheme = variable ordering + value
        ordering + symmetry breaking
    
- One possible branching scheme (Grabowski)
      
      - Construct a heuristic soln
      
- Systematically search all possible improvements
          of that soln
      
- Some improvements can be ruled out by ``candidates
      thm''
      
 
- ``Heads and Tails''
      
      - Head of job i is lower bound
      on span preceding i
      
- Tail of job i is lower bound
      on span following i
      
- ``Pigeonhole'' refinement for heads and tails
      
 
- Carlier and Pinson: cool work on improving this
        stuff
    
- Note complexity of scheme: not necessarily
        worth it (i.e. switch search techniques)
    
 
- Tabu Search
    
    - Neighborhood = search space
      
      - N1: Flip jobs processed on same machine in critical
          path (sound, opt-connected)
      
- N4: Flip job inside block on critical path close as
          possible to beginning or to end of block
      
 
- Tabu list: FIFO buffer of visited solns
      
      - Can catch more than one per entry
      
- Can grow or shrink as needed
      
 
- Aspiration: cancelling tabus
    
 
 
- Realistic Constraints In Shop Scheduling
  
  - Deadlines
  
- Release times
  
- Setups and forbidden setups
  
- Fixed times and time relationships
  
- Time and cost objectives
  
 
Author: Bart Massey
<bart@cs.pdx.edu>
Last Updated: 2000/2/8