После Эндрю в своем ответе указал мне на правильное направление, и назвал эту проблему для меня, я решил сбросить результаты своих исследований здесь в отдельном ответе.
Это действительно проблема с упаковкой, а точнее, проблема с гнездом. Проблема математически NP-жесткая, и, следовательно, используемые в настоящее время алгоритмы являются эвристическими подходами. Кажется, не существует решений, которые могли бы решить проблему в линейном времени, за исключением тривиальных наборов задач. Решение сложных проблем занимает от минут до часа с использованием текущего оборудования, если вы хотите достичь решения с хорошим использованием материала. Существуют десятки коммерческих программных решений, которые предлагают вложение форм, но я не смог найти какие-либо решения с открытым исходным кодом, поэтому нет реальных примеров, где можно было бы увидеть, какие алгоритмы действительно реализованы.
Отличное описание проблемы гнездования и разложения лент с помощью исторических решений можно найти в статье, написанной Бенни Кьяром Нильсеном из Копенгагенского университета (Nielsen).
Общий подход состоит в том, чтобы смешивать и использовать несколько известных алгоритмов, чтобы найти лучшее решение для вложенности. Эти алгоритмы включают (Guided/Кратные) Локальный поиск, Быстрый поиск Район, который не основан на No-Fit Polygon и толкаются эвристики. Я нашел замечательную статью по этому вопросу с фотографиями о том, как работают алгоритмы. До сих пор он также имел контрольные показатели различных программных реализаций. Этот документ был представлен на Международном симпозиуме по планированию 2006 г. С. Уметани и др. (Umetani).
Относительно новые и, возможно, наилучший подход к настоящему времени основан на гибридных генетического алгоритма (С), гибрид, состоящий из имитации отжига и генетического алгоритма, который был описан Ву Цинмин и др. Из Уханьского университета (Quanming). Они реализовали это с помощью инструментария Visual Studio, базы данных SQL и инструментария оптимизации генетического алгоритма (GAOT) в MatLab.
Связанная статья Уметани в настоящее время составляет 404. Каким было название, чтобы люди могли рекламировать его? –
Название на самом деле находится по ссылке, если вы наведете его поверх. :) Я обновил неработающую ссылку. – Fuu