Given a list of N non-negative real numbers:
t = [2.99, 7.9, 24.58, ..., 3.1415, 40.4]
I want to partition the elements of $t$ into $M$ groups, $g_1$, $g_2$, ..., $g_M$, so that the sum of each group is as close as possible to $sum(t)/M$, i.e. minimizing the root mean square error:
Minimize: $\sqrt{\Sigma_i^M (sum(g_i) - sum(t)/M)^2 }$.
Do anyone know a close-to-optimal algorithm of doing this generally? Or do anyone know the name of this problem? (My google-fu failed me).
Background: $t$ represents time in seconds to run $N$ different tasks, and I want to schedule the $N$ tasks on $M$ different computers in such a way that all computers finish their tasks at the same time (or as close as possible).