Algorithm for minimizing standard deviation in a set of n "buckets" with m or m+1 elements in each bucket Excuse my language, I'm not a mathematician.
Given a set k real numbers and positive natural numbers n and m distribute the k real numbers among n buckets so that each bucket has m or m+1 numbers in it (assume that m and n are selected such that this distribution is possible).
Each bucket gets a value equal to the sum of the numbers in it.
Distribute the numbers among the buckets in such a way as to minimize the standard deviation of the bucket values (and to keep the initial requirement of m or m+1 numbers in each bucket).
Are there more efficient ways of doing this distribution than just trying all combinations?
Any well-known algorithms to look up online?
 A: Formally, I believe this is a problem in $0-1$ quadratic programming.  I can't find a good introduction to this online, and it's not something I know much about, but I'll try to explain what I mean, and why I think you should look at approximate solution methods.  
We are given real numbers $x_i, 1\le i \le k,$ and integers $m,n$ such that $nm \le k \le (m+1)n.$  For $1\le i \le k, 1 \le b \le n,$ define $$I_{i,b}=\cases{1,&$x_i \text{ is assigned to bucket }b$\\0,& otherwise} $$
The indicator variables $I_{i,b}$ are our unknowns and they can only take the values $0$ and $1$.  We have the following constraints:$$
m \le \sum_{i=1}^k{I_{i,b}}\le m+1, \space 1\le b\le n\tag{1}$$
$$\sum_{b=1}^n{I_{i,b}}=1, \space 1\le i\le k\tag{2}
$$
Constraints (1) say that each bucket has either $m$ or $m+1$ numbers, and constraints (2) say that each number is assigned to exactly one bucket.
Subject to these constraints we want to minimize the standard deviation of the bucket sums, which is the same as minimizing the sum of the squares of the differences of the bucket sums from the average sum $\mu.$  We can compute $\mu$ in advance.  $$\mu = \frac{1}{n}\sum_{i=1}^k{x_k}$$ so that we want to minimize $$\sum_{b=1}^n\left(\sum_{i=1}^k{x_iI_{ib}-\mu}\right)^2$$
Now, if you look at the article on Quadratic Programming on Wikipedia, you'll see that we have to manipulate this into an expression involving a real symmetric matrix $\mathbf Q,$ and that if the matrix turns out to have even one negative eigenvalue, the problem is NP-complete. In our problem the matrix $\mathbf Q$ depends on the given $x_i$ and it seems hopeless to me to plan on $\mathbf Q$'s being positive definite or even semidefinite.
Therefore I think you should look into approximation methods, of which there are a host to choose from.  Simulated annealing sounds attractive to me for this problem, if only because it's easy to move to a neighboring state.  Choose two buckets at random; if they have the same cardinality, pick a random element from each and swap them; otherwise move a random element from the big bucket to the small one.  Also, I think a pretty good first approximation can be found by putting the largest number in bucket $1$, the second-largest in bucket $2$, and so on, down to bucket $n$, and then reverse the order.  Put the largest remaining number in bucket $n$ the next-largest in bucket $n-1$ and so on, reversing the order once again when you get to bucket $1$, sort of like boustrophedon.  This first approximation would be used as the starting point in simulated annealing.
This is a problem in combinatorial optimization or discrete optimization, so you might want to research these problems online.  Also, you should add tags like "optimization" or "discrete optimization" to your question to  attract answers from people more knowledgeable than I.         
