У меня есть коллекция заказов.
[a, b]
[a, b, c]
[a, b, c, d]
[a, b, c, d]
[b, c]
[c, d]
Где a, b, c и d - это SKU, и есть большие ящики, заполненные ими. И есть тысячи заказов и сотни возможных SKU.
Теперь представьте себе, что при упаковке этих заказов, если в заказе отсутствуют предметы из предыдущего заказа, вы должны поместить ящик для этого SKU (и аналогичным образом взять тот, который у вас нет).
Как вы сортируете это, чтобы было минимальное количество изменений в ящике? Или в более программных терминах: как вы минимизируете кумулятивное расстояние hamming/максимизируете пересечение между соседними элементами в коллекции?
Я действительно не знаю, с чего начать. Есть ли для этого какой-то алгоритм? Есть ли приличное приближение?