Я изучаю проблему с упаковкой в мусорное ведро, но не совсем то же самое. Задача состоит в том, чтобы поместить n предметов в минимальное количество ящиков так, чтобы общий вес не превышал вместимость ящиков. (классическое определение)
Разница в том, что у каждого элемента есть вес и граница, а вместимость корзины динамически определяется минимальной границей< /em> элементов в этой корзине.
Например, у меня есть четыре элемента A[11,12], B[1,10], C[3,4], D[20,22] ([weight,bound]). Теперь, если я положу предмет A в корзину, назову ее b1, тогда вместимость b1 станет равной 12. Теперь я попытаюсь положить предмет B в корзину b1, но потерплю неудачу, потому что общий вес равен 11+1 = 12, а вместимость b1 становится 10, что меньше общего веса. Итак, B помещается в корзину b2, вместимость которой становится равной 10. Теперь поместите предмет C в корзину b2, потому что общий вес равен 1+3 = 4, а емкость b2 становится равной 4.
Не знаю, решен ли этот вопрос в каких-то областях с каким-то названием. Или это вариант bin-packing, который где-то обсуждался. Я не знаю, правильно ли это место для публикации вопроса, любая помощь приветствуется!
Bound[i] = CONST
для всехi
, и вы получите классическую bin-packing. (Сокращение от binpacking в значительной степени следует вышеизложенному) - person amit   schedule 14.06.2015