Definition · Identical machines in parallelm machines, all the same speed. Each job runs on exactly one machine, without interruption, and a machine runs one job at a time. The load of a machine is the total processing time assigned to it, and the makespan is the largest load. The order within a machine does not matter, so a schedule is just a partition of the jobs into m groups.
Definition · The LPT ruleLongest processing time: sort the jobs by p descending and place each one, in turn, on whichever machine is currently free soonest. It is a list-scheduling rule — one pass, no backtracking — and it does not in general find the optimum.
Theorem · The two lower boundsFor every assignment of jobs to m identical machines, the makespan is at least sum p / m and at least max p.
The m loads add to sum p, so the largest of them is at least the average sum p / m. A maximum is never below a mean of the same numbers.
The longest job runs on one machine without a break, so that machine's load is at least max p, and the makespan is at least that machine's load.
□
Neither bound implies the other, and the lab has a preset for each direction. With seven jobs adding to 34 on three machines the average is 34/3 and the longest job is 7, so the average binds. With one eleven-hour job and four small ones adding to 21 the average is 7 and the longest job is 11, so the longest binds — and there the bound is tight, because the optimum really is 11.
Seven jobs, three machines, and one hour that cannot be recovered
jobs A 7, B 6, C 5, D 4, E 4, F 4, G 4 total 34, m = 3
bound 1 34/3 the average load
bound 2 7 the longest single job
the binding bound is 34/3, which is about 11.33 and is not attainable
LPT, placing 7, 6, 5, 4, 4, 4, 4 in turn on the machine free soonest
M1 A 7, F 4 load 11
M2 B 6, E 4 load 10
M3 C 5, D 4, G 4 load 13 makespan 13
THE BEST OF ALL 2187 ASSIGNMENTS
M1 A 7, C 5 load 12
M2 B 6, D 4 load 10
M3 E 4, F 4, G 4 load 12 makespan 12
ratio 13/12, inside the guarantee of 4/3 − 1/9 = 11/9
and 12 > 34/3: the optimum is strictly above the binding bound
Follow the rule's placements and the failure is visible. It puts the seven-hour job on the first machine, the six on the second, the five on the third, and then has four four-hour jobs to place onto loads of 7, 6 and 5. They go to the third, the second, the first and the third again, which leaves the third machine carrying 5 + 4 + 4 = 13. The optimum instead pairs the seven with the five and puts three fours together, which nothing in a one-pass rule would find.
Example · The optimum above the bound, which is the part worth keepingThe binding lower bound here is 34/3, and 34 is not divisible by 3. Every load is a whole number, so no assignment has all three loads equal to 34/3, and in fact no assignment gets below 12.
So the bound is 34/3, the optimum is 12 and the heuristic is 13. The gap between the heuristic and the optimum is a failure of the heuristic; the gap between the optimum and the bound is not a failure of anything. A report that treats the bound as a target to be chased has confused the two, and the target it is chasing does not exist.
When the bound is tight, and when the rule is exact
The lab's other two presets are the easy cases and they are worth running. With one eleven-hour job and four small ones the longest-job bound is 11, longest-first finishes at 11, and the enumeration confirms 11: bound, heuristic and optimum all agree, and the average-load bound of 7 is simply blind to why. With six four-hour jobs on three machines the average-load bound is 8, longest-first finishes at 8 and the optimum is 8; the longest-job bound is only 4 and contributes nothing, which is the same asymmetry the other way round.
Neither of those is evidence about the rule. They are instances where the bound happens to be attainable, and that is a property of the data rather than of the method. The useful habit is to compute both bounds first: when they meet the optimum the work is over before any schedule is built, and when they do not, the size of the remaining gap is what you have actually proved.
What the guarantee is and is not
The 4/3 − 1/(3m) guarantee is a worst-case statement about every instance, and it is proved from the two bounds rather than from any property of a particular schedule. On three machines it allows 11/9; the measured ratio on the lab's instance is 13/12, comfortably inside it. A measured ratio on one instance is not evidence about the bound in either direction, and the lab reports both numbers separately for that reason.
Shortest-first is the natural rival and it is much worse: on the same seven jobs it finishes at 15 against the optimum of 12, because it spends the small jobs early and is left placing the seven-hour job onto a machine that is already loaded. The lab offers both rules on the same data, and the contrast is the argument for sorting descending rather than an appeal to intuition.