Scheduling

Scheduling is the allocation of jobs to machines or resources over time, with the goal of meeting due dates, minimizing completion time, or maximizing resource utilization. In production and operations, scheduling takes the aggregate plan and the master production schedule and turns them into a detailed sequence of operations on specific machines or work centers. Key performance measures include makespan (completion time of the last job), flow time (time a job spends in the system, including waiting), lateness (C_j - d_j, which can be negative if early), tardiness (max(0, C_j - d_j)), and machine utilization (busy time divided by available time). Scheduling problems are classified using the notation α|β|γ, where α describes the machine environment (single machine, parallel machines, flow shop, job shop, open shop), β describes job characteristics and constraints (processing times, release dates, due dates, precedence, preemption), and γ describes the objective (makespan C_max, total completion time ΣC_j, maximum lateness L_max, total tardiness ΣT_j). For the single-machine case, several rules give optimal solutions for specific objectives: shortest processing time (SPT) minimizes mean flow time and mean completion time; earliest due date (EDD) minimizes maximum lateness; and Moore-Hodgson's algorithm minimizes the number of tardy jobs. The weighted shortest processing time (WSPT) rule orders jobs by decreasing p_j/w_j to minimize weighted completion time. For the two-machine flow shop, Johnson's rule minimizes makespan: jobs are split into two sets depending on whether their first operation is shorter than their second, then sequenced accordingly. The job shop is NP-hard for most objectives, so practical scheduling relies on dispatching rules (SPT, EDD, critical ratio, slack per remaining operation), simulation, and heuristics such as shifting bottleneck or tabu search. Scheduling is further complicated by sequence-dependent setup times, machine breakdowns, operator availability, and material shortages. In practice, schedules must be robust to disruption and are often regenerated periodically or rescheduled in response to real-time events.

Governing FormulaCompletion time of job j: C_j = start_j + p_j Flow time: F_j = C_j - r_j (r_j = release time) Makespan: C_max = max_j C_j Lateness: L_j = C_j - d_j Tardiness: T_j = max(0, C_j - d_j) Mean flow time: F_bar = (1/n) Σ F_j SPT rule (minimize mean flow time): sequence jobs by increasing p_j EDD rule (minimize maximum lateness): sequence jobs by increasing d_j WSPT rule (minimize weighted completion time): sequence by decreasing w_j / p_j Johnson's rule (two-machine flow shop): if min(p_1j, p_2j) = p_1j, place job j at the front if min(p_1j, p_2j) = p_2j, place job j at the back Machine utilization: U = busy time / available time

Knowledge Check

10 Questions

1.What is makespan in a scheduling problem?

2.Which dispatching rule minimizes the mean flow time on a single machine?

3.Three jobs have processing times p = [4, 2, 7] on a single machine, all available at time 0. Using SPT, what is the mean flow time?

4.Which rule minimizes the maximum lateness L_max on a single machine?

5.Two jobs have due dates d = [5, 8] and completion times C = [7, 8]. What is the maximum lateness?

6.What is the difference between lateness and tardiness?

7.In the α|β|γ scheduling notation, what does the γ field represent?

8.What is the objective of Johnson's rule?

9.Why is the job shop scheduling problem considered difficult?

10.A machine is available for 480 minutes per shift and is busy for 360 minutes. What is its utilization?