Допустим, у вас есть список из 8 цен - например:Минимизация разницу между суммами
1$
2$
3$
4$
5$
6$
7$
8$
Вы хотите разделить цены на 2 группы по 4 цены каждого.
Пусть общая стоимость группы будет равна сумме индивидуальных цен группы. Как вы разделите группу таким образом, чтобы разница между двумя общими ценами была как можно меньше?
Очевидное решение состоит в том, чтобы попробовать все пары и посмотреть, какая из них самая низкая, но существует ли более эффективное решение, которое могло бы работать, если бы оно было расширено до более чем 8 цен или более двух групп?
Сбалансированная проблема раздела (для двух подмножеств)? – keyser
@ ᴋᴇʏsᴇʀ Точно. [Вопрос о SO с двумя подмножествами] (http://stackoverflow.com/questions/12781159/balanced-partition). [Вики] (http://en.wikipedia.org/wiki/Partition_problem). –
Как вы можете изменить проблему сбалансированного раздела, чтобы разделить на n-подмножества? – 1110101001