Есть простая оптимизация - из всех возможных ходов из текущей клетки перебирать сначала те, которые ведут в клетку с наименьшим количеством возможных следующих ходов (это надо проверить и все ходы через один ход и посмотреть, а обойдены ли те клетки уже)
Я здесь просто подумал что цена в корзине должна быть зафиксирована при добавлении, и не зависеть от дальнейшего изменения цены товара
так автор и пытается избежать подобных проблем при конвертации
Можно попробовать DISCARD-IMPORT TABLESPACE для каждой отдельной таблицы. Вероятность вылечить 50/50.