Спасибо за советы.
1. Удаление арта корректное в коде ФМ конечно есть, но вот в чём проблема - там удаляет первый попавшийся такой арт в рюкзаке, что весьма неподходяще в случе когда нам надо удалить второй такой же арт дальше по цепочке.. в итоге у нас не закроется "прогал" в середине рюкзака, а появится ещё один но только ранее (в уже отдефрагментированной части)
2. Я благодарен за столь продуманные алгоритмы, но, к сожалению, не имея знаний в программировании, мне весьма размыто представляется что стоит за словами "блок", "ряд" и что подразумевается под "перенос блока". Хотя бы приведите маленький пример адаптированный под "парадигмы ЕРМ", ну скажем на таком примере: в рюкзаке 2 артa..
[-1][-1][12][45][-1]