Тема: Разработка алгоритма метода ветвей и границ для построения негильотинного размещения набора прямоугольников на листе
Закажите новую по вашим требованиям
Представленный материал является образцом учебного исследования, примером структуры и содержания учебного исследования по заявленной теме. Размещён исключительно в информационных и ознакомительных целях.
Workspay.ru оказывает информационные услуги по сбору, обработке и структурированию материалов в соответствии с требованиями заказчика.
Размещение материала не означает публикацию произведения впервые и не предполагает передачу исключительных авторских прав третьим лицам.
Материал не предназначен для дословной сдачи в образовательные организации и требует самостоятельной переработки с соблюдением законодательства Российской Федерации об авторском праве и принципов академической добросовестности.
Авторские права на исходные материалы принадлежат их законным правообладателям. В случае возникновения вопросов, связанных с размещённым материалом, просим направить обращение через форму обратной связи.
📋 Содержание
1 Теоретические основы 5
2 Общая схема алгоритма 8
3 Метод ветвей и границ для решения задачи размещения прямоугольников
на листе 10
3.1 Правила для фиксации в список окончательно зафиксированных
переменных 10
3.2 Две детали, не укладывающиеся по длине в значение верхнего
ограничения целевой функции 11
3.3 Поиск циклов в расположении деталей 12
3.4 Проверка длин цепочек деталей 13
4 Программное обеспечение для построения негильотинного размещения
набора прямоугольников на листе 15
5 Результаты вычислительных экспериментов 18
Заключение 21
Список использованной литературы 23
Приложения
📖 Введение
Практически все варианты задачи прямоугольного размещения являются NP-полными, поэтому в основном исследователи разрабатывают эвристические (не имеющие строгого обоснования, но часто дающие приближенное решение задачи с достаточно хорошей точностью) алгоритмы её решения, наиболее популярные из которых - генетические алгоритмы. Математическая формулировка задачи присутствует в публикациях редко [1]. Существуют модели задачи в виде задачи нелинейного (невыпуклого) программирования [5], задачи линейного программирования с альтернативными ограничениями и задачи частично-булевого программирования (с очень большим количеством переменных и ограничений) [6].
В [1] предложены линейные частично булевы модели задачи негильотинного размещения набора прямоугольников на листе и полуполосе. Для получения точного решения был применён метод ветвей и границ Лэнд и Дойг. Также были предложены эвристические приёмы для уменьшения трудоёмкости задачи.
Цель работы - разработка и экспериментальное исследование эффективности алгоритма метода ветвей и границ для решения задачи негильотинного размещения набора прямоугольников на листе. За основу алгоритма взята линейная частично булева модель размещения прямоугольников на листе из [1]. Для решения задачи применяется метод ветвей и границ, который позволяет обеспечить фиксацию булевых переменных и уменьшить трудоёмкость задачи.
Задачи данной выпускной работы:
- изучить модели и методы решения задачи размещения набора прямоугольников на листе;
- разработать алгоритм метода ветвей и границ для построения негильотинного размещения набора прямоугольников на листе;
- разработать программное обеспечение для реализации разработанного алгоритма;
- разработать генератор для задач негильотинного размещения набора прямоугольников на листе;
- разработать программу для визуального представления полученного размещения;
- провести вычислительный эксперимент и провести анализ его результатов.
✅ Заключение
По сравнению со способом решения данной задачи из [1], где задача линейного программирования решалась по всех узлах дерева, в разработанном алгоритме задача линейного программирования решается только в листовых узлах дерева после того, все булевы переменные стали зафиксированными. Метод ветвей и границ позволил значительно сократить время работы программы по сравнению с полным перебором всех случаев.
Был проведён вычислительный эксперимент, который подтвердил, что данная задача является сложной, она долго решается и потому точное решение получить довольно сложно.
Также вычислительный эксперимент показал, что время работы программы зависит от входных параметров (количества и разнообразия деталей). Так, например, при большом количестве одинаковых деталей задача решается значительно быстрее, чем при большом разнообразии размеров деталей.
Также время работы зависит от того, заполняют ли детали всю ширину листа. Если заполняют, то оптимальная длина части листа, на которой располагаются детали, чаще всего совпадает с предполагаемой (вычисленной как сумма площадей деталей, делённая на ширину листа), а при нахождении рекордного значения, совпадающего с нижней границей целевой функции, решение задачи прекращается. Иначе оптимальный результат получается 21
больше предполагаемого и достаточно много времени работы программы тратится на то, чтобы проверить, что данное решение действительно является оптимальным.



