Это очень даже обоснованно. Вы интуитивно пользуетесь суммой квадратов отклонений (или корнем из неё)! А это просто есть расстояние между точками в трехмерном пространстве, где координатами служат массы ящиков. Так что Вы на правильном пути.
Добавлено спустя 15 минут 49 секунд:
Пусть у нас есть наше множество X.
Рассмотрим все возможные разбиения этого множества на три части.
Это будут тройки неотрицательных чисел

, причем

, где М - масса всех камней, а a, b, c - массы ящиков.
В трехмерном пространстве с координатами (а,b,c) эти точки лежат на плоскости а+b+c = M.
Наша задача, которая стала плоской, состоит в отыскании точки, максимально близкой к точке (М/3; M/3; M/3).
Разумеется, просчитывать все точки неразумно с вычислительной точки зрения, тогда задача превращается в простой перебор. Но может быть стоит посмотреть, как меняется положении точки при обмене камнями между ящиками.
Или найти механизм отсеивания разбиений, заведомо далеких от оптимального.
В общем, Вам есть над чем голову ломать.
Но я всё же повторюсь с советом порешать сначала ту же задачу для двух ящиков.