Johnson's Rule Scheduling Calculator

Job Machine 1 Machine 2 Action

Calculation Results

Optimal Sequence:

What is Johnson's Rule?

Johnson's Rule is a scheduling algorithm used in operations management to minimize the total time required to complete a set of jobs across two machines or workstations. In industrial engineering, this total time is known as the "makespan." Developed by S.M. Johnson in 1954, this rule provides an optimal solution specifically for the flow-shop scheduling problem where each job must follow the same sequence: Machine 1 first, then Machine 2.

How the Algorithm Works

The core objective of Johnson's Rule is to reduce the idle time of the second machine. The algorithm follows these simple steps:

  1. List all jobs and their processing times for both Machine 1 (M1) and Machine 2 (M2).
  2. Select the job with the shortest processing time across all machines.
  3. If the shortest time is for M1, schedule that job as early as possible in the sequence.
  4. If the shortest time is for M2, schedule that job as late as possible in the sequence.
  5. If there is a tie, you can choose arbitrarily, though some variations have specific rules.
  6. Remove the scheduled job from the list and repeat the process until all jobs are ordered.

Why Use a Johnson's Rule Calculator?

Using an automated tool helps production managers and students quickly find the most efficient workflow without manual sorting errors. By minimizing the makespan, businesses can increase throughput, meet tighter deadlines, and optimize resource allocation. This calculator is particularly useful for small manufacturing shops, print shops, and assembly lines where a two-stage process is standard.

Frequently Asked Questions

Can Johnson's Rule be used for 3 machines?
Standard Johnson's Rule is for 2 machines. However, it can be applied to 3 machines if specific conditions are met (e.g., the minimum time on M1 or M3 is greater than or equal to the maximum time on M2).

What is "Makespan"?
Makespan is the total elapsed time from the start of the first job on the first machine until the completion of the last job on the final machine.