The Longest Processing Time rule for identical parallel machines revisited

By Fédérico Della Croce - June 22th 2021 - 1pm

We consider the P||Cmax scheduling problem where the goal is to schedule n jobs on m identical parallel machines (m < n) to minimize the makespan. We revisit the famous Longest Processing Time (LPT) rule proposed by Graham in 1969. LPT requires to sort jobs in non-ascending order of processing times and then to assign one job at a time to the machine whose load is smallest so far. We provide new insights into LPT and discuss the approximation ratio of a modification of LPT that improves Graham’s bound from (4/3-1/3m) to (4/3-1/3(m-1)) for m>=3. We use linear programming to analyze the approximation ratio of our approach. This performance analysis can be seen as a valid alternative to formal proofs based on analytical derivation. Also, we derive from the proposed approach an O(n log n) time complexity heuristic called SLACK. The heuristic splits the sorted job set in tuples of m consecutive jobs (1...m; m+1...2m; etc.) and sorts the tuples in non-increasing order of the difference (slack) between largest job and smallest job in the tuple. Then, given this new ordering of the job set, list scheduling is applied. This approach is shown to strongly outperform LPT on benchmark literature instances.