📄Работа №77730

Тема: Разработка алгоритма метода ветвей и границ для построения негильотинного размещения набора прямоугольников на листе

📝
Тип работы Бакалаврская работа
📚
Предмет информатика
📄
Объем: 38 листов
📅
Год: 2016
👁️
Просмотров: 252
Не подходит эта работа?
Закажите новую по вашим требованиям
Узнать цену на написание
ℹ️ Настоящий учебно-методический информационный материал размещён в ознакомительных и исследовательских целях и представляет собой пример учебного исследования. Не является готовым научным трудом и требует самостоятельной переработки.

📋 Содержание

Введение 3
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
больше предполагаемого и достаточно много времени работы программы тратится на то, чтобы проверить, что данное решение действительно является оптимальным.

Нужна своя уникальная работа?
Срочная разработка под ваши требования
Рассчитать стоимость
ИЛИ

📕 Список литературы

1. Андрианова А.А., Мухтарова Т.М., Фазылов В.Р. Модели задачи негильотинного размещения набора прямоугольников на листе и полуполосе // Ученые записки Казанского университета. Физико-математические науки. - 2013. - том 155 кн.2. - С. 5-17.
2. Документация Django (URL: http://djbook.ru/)
3. Руднев А.С. Алгоритмы локального поиска для задач двумерной упаковки: Автореф. дис. ... канд. физ.-матем. наук. - Новосибирск, 2010. - 19 с.
4. Руднев А.С. Вероятностный поиск с запретами для задачи упаковки кругов и прямоугольников в полосу // Дискр. анализ и исслед. операций. - 2009. - Т. 16, №4. - С.61-86.
5. Старостин Н.В., Силаев А.Н., Седых И.О. Многоуровневый эволюционно-генетический метод размещения прямоугольников на плоскости // Вестн. Нижегор. ун-та им. Н.И. Лобачевского. - 2009.
- №5. - С. 163-168.
6. Kenmochi M., Imamichi T., Nonobe K., Yagiura M., Nagamochi H. Exact algorithms for the two-dimensional strip packing problem with and without rotations // Europ. J. Oper. Res. - 2009. - V. 198, No 1. - P. 73-83
7. Lodi A., Martello S., Monaci M. Two-dimensional packing problems: A survey // Eur. J. Oper. Res. - 2002. - V. 141, No 2, - P. 241-252.
8. Process-based “threading” interface (URL:
https://docs.python.org/2/library/multiprocessing.html)
9. Scipy.optimize library (URL: http://docs.scipy.org/doc/scipy-
0.15.1/reference/generated/scipy.optimize.linprog.html)

🛒 Оформить заказ

Работу высылаем в течении 5 минут после оплаты.

©2026 Cервис помощи студентам в выполнении работ