Re-Balancing Bins with Capacity Limit Problem Let $\hat n = \{1, \dots, n\}$. Assume that we have a sequence of bins
$$ B_1, B_2 ..., B_n $$
which all have the same capacity limit $c \in \mathbb{Q}$. Now, there is a finite set of items $I \subset \mathbb{N}$ that have weights
$$w: I \mapsto \mathbb{Q}.$$
We have an initial assignment of items to bins $ a: I \mapsto \hat n$ such that,
$$ \sum_{i \in a^{-1}(m)} w(i) \leq c,$$
for all $m \in \hat n$, i.e. the assignment satisfies the capacity limit $c$. Let us further say that $c$ is not minimal, meaning that there is another $c'$ such that we can find an assignment that satisfies $c'$. The cost of transferring from an assignment $a$ to another assignment $b$ is
$$ \sum_{i \in I;  a(i) \neq b(i)} w(i),$$
i.e. the sum of the weights of items that have to be transferred.
Given an initial assignment $I$ and a new capacity limit $c' \in \mathbb{Q}$ what is the minimal cost of transferring to an assignment that satisfies $c'$? How hard is this problem? Does it have a name? Can I simplify my model? Is it reducible to something well studied? How about finding a assignment that satisfies $c'$ such that the transfer costs are close to minimal (double?)?
We are not trying to minimize $c$ but the transfer costs because $|I| >> n$. 
 A: Let $c$ represent the biggest sum of weights in any of the bins. Clearly, the inequality still holds. We want to find a $c' < c$ with a different arrangement of the items such that the inequality still holds. In other words, we want to lower the biggest sum of weights in any of the bins.
One way to do this is to take all of the bins with sum of weights $c$ and then move the smallest weight inside of them to the bin with the minimum sum of weights. If this does not lower $c$ because the minimum sum of weights plus this new smaller weight is too big, then there is no way to lower $c$ since that's the best way we can lower the sum of weights of a bin. Otherwise, if this does lower $c$, then we have found an arrangement of minimal transfer cost that has a lower $c'$ than the original. We can repeat this until we get to the case where we can not lower $c$ any longer.
This is a rather simple algorithm that correctly finds a minimal $c'$, but the problem is that it does not always lead to the minimum transfer cost from the initial assignment to the minimal assignment because there might be a way to get from the initial $c$ to the minimal $c'$ in less transfer cost by taking bigger items out of the maximum bins instead of always taking the smallest items out.
