CPKit
v1.6.1

Load Balancing

GreedyMedium

Greedily distribute jobs across processors to minimize peak makespans.

Alt+Shift+L

Configuration Panel

Processor Bins Load Distribution

Time Complexity

O(N log N) sorting + O(N * M) assignments

Space Complexity

O(M) processors list size
Conceptual Overview

The Load Balancing problem assigns N jobs with varying processing loads to M identical processors, minimizing the maximum load on any processor (known as the makespan).

Greedy Choice Property

Sort jobs in descending order of size. Assign each job to the processor that currently has the minimum accumulated load (Graham's Longest Processing Time heuristic).

Optimal Substructure

While load balancing is NP-hard, the greedy LPT choice guarantees a 4/3-approximation ratio of the optimal schedule makespan.

Proof Idea / Correction

Proof by approximation bounds: sorting descending prevents large jobs from being scheduled late, limiting the maximum deviation from the optimal average load to at most 33%.

Source: CP-Algorithms greedy reference