ВВЕДЕНИЕ 3
Глава I Описание математической модели 7
Описание математической модели для задачи гильотинного раскроя 7
Модификация алгоритма ФГР 11
Построение карты раскроя с применением метода ветвей и границ 14
Псевдокод алгоритма ФГР рулонного материала 21
Псевдокод алгоритма выбора оптимального целочисленного плана методом ветвей и границ 23
Глава II Структура приложения 25
Архитектура приложения 25
Взаимодействие приложения с пользователем 26
Разработка Windows - приложения 32
Глава III Анализ результатов 35
Интерпретация результатов, полученных в результате применения модификации алгоритма ФРГ рулонного раскроя с ограничением на размеры рабочего стола
Анализ результатов, полученных с применением метода ветвей и границ 44
Заключение 49
Литература 51
Приложение
Внедрение современных методов в производственный процесс является весьма актуальной задачей на сегодняшний день. Без исключения каждому предприятию важно производить продукцию с минимальным количеством затрат. Одним из источников затрат является расход материалов, большие сроки подготовки раскроя, а также нерациональное размещение деталей на листе, что впоследствии ведет к превышению запланированного бюджета. Рациональным решением данной проблемы является построение карт раскроя с использованием современных алгоритмов раскроя материала. Именно этой проблеме посвящена данная работа.
Впервые задачи раскроя были сформулированы Леонидом Витальевичем Канторовичем в 40-х годах XX века, однако потребность в ее решении впервые возникла в 30-х годах, когда задачами теории раскроя занимался Фельдман Х.; он интересовался задачами оптимальной распиловки бревен. Однако сформулированные им требования не полностью охватывали все условия и полученные результаты на практике могли быть неверными.
В свою очередь Канторович в 1951 году, задолго до широкого распространения компьютеров, вместе с Залгаллером предложили способ решения задачи раскроя методом линейного программирования.
Сегодня, в век компьютерных технологий эту задачу можно решать значительно быстрее, поскольку нет необходимости делать расчеты вручную.
Рациональный раскрой, как уже было ранее сказано, преимущественно зависит от эффективности того или иного алгоритма раскроя. А вычислительная сложность зависит от затраченного времени, то есть количества шагов, и памяти, используемой в процессе вычислений.
В зависимости от вида материала различают одномерный, двумерный раскрои и трехмерный раскрой-упаковку [1]. В одномерном случае материал для раскроя поступает в виде однотипных полос, например, раскрой на заготовки бревен или труб. В случае трёхмерного раскроя - упаковки, рассматриваются задачи организации складских помещений. Двумерный раскрой применяется при работе с различными листовыми материалами, например, раскрой рулонного материала на прямоугольные заготовки.
Среди существующих задач раскроя можно выделить фигурный раскрой, который позволяет размещать детали непрямоугольной формы, косоугольный раскрой, включающий в себя детали прямоугольной формы и грани которого располагаются не параллельно кромкам материала, а также прямоугольный - раскрой, состоящий из фигур прямоугольной формы, грани которых параллельны кромкам материала [2].
В свою очередь, прямоугольный раскрой [3,2] делится на гильотинный [4] и негильотинный. Гильотинный раскрой осуществляется с помощью гильотинных ножниц. Особенность данного оборудования состоит в том, что каждый рез происходит от одного края материала до другого, параллельно кромкам. Таким образом, гильотинный раскрой - раскрой материала путем сквозных резов, параллельных граням материала. Соответственно, при негильотинном раскрое сквозных резов не допускается.
Из того, что рассматриваемая задача гильотинного размещения является NP-трудной [5] следует, что не существует алгоритма полиномиальной сложности для ее решения, поэтому точный результат может быть определен только за экспоненциальное время.
Несмотря на это, подходов к решению данной задачи было предложено немало; в их числе эволюционные - модифицированный генетический алгоритм и алгоритм муравьиной колонии [6,4], а также вероятностные - поиск с запретом [7] и имитация отжига [8]. Имитация отжига и поиск с запретами — это алгоритмы, принцип которых заключается в построении последовательности решений, где каждое из решений является соседним для предыдущего в заданном диапазоне. В генетическом алгоритме для нахождения нового решения используется процедура скрещивания и мутаций. Идея метода муравьиной колонии заключается в сборе статистической информации о найденных успешных решениях [6]. Однако все эти методы являются метаэвристическими.
В качестве неплохой эвристики, предназначенной непосредственно для задачи гильотинного раскроя можно выделить послойный метод, основы которого заложены в работах М. Адамовича и А. Албано, а также Э.А. Мухачевой и Л.Ф. Розановой в [1]. Принцип данного алгоритма заключается в слоевом размещении элементов, где каждый слой состоит из определенной группы элементов. Послойные алгоритмы строят планы раскроя сложности О(п * т2 Iодт), где m - количество типов деталей, а n - общее количество деталей. Однако к недостатку данного алгоритма можно отнести плохо заполненные области в конце полосы, которые сильно сказываются на итоговом результате [9].
В статье [5] Mir-Bahador Aryanezhad был представлен другой быстрый эвристический алгоритм, решающий поставленную задачу. Данный подход сводится к приведению к задаче о рюкзаке. В задаче о рюкзаке выбор деталей в карту раскроя осуществляется в зависимости от ценности детали, с учетом того, что вместимость рюкзака ограничена. Предполагается, что неиспользуемые детали будут храниться на складе. Данный алгоритм показывает достаточно неплохие результаты на больших размерностях, но, это все же эвристический метод.
Однако часто эвристические и метаэвристические алгоритмы дают решение, далекое от оптимального и не всегда можно оценить погрешность полученного решения. Таким образом, важно разрабатывать и исследовать и точные методы решения задачи.
В качестве примера точного метода можно привести задачу целочисленного программирования, представленную в статье [10]. Такая модель задачи является одной из самых сложных с вычислительной точки зрения, поскольку учет целочисленных значений накладывает огромное количество ограничений. Для решения этой задачи используется метод ветвей и границ, который подразумевает производить разбиения по каждой переменной.
Другой точный метод решения задачи гильотинного раскроя основан на применении функции гильотинного размещения [11].
Функцией гильотинного размещения (ФГР) для набора прямоугольников Dбудем называть функцию f (■; D)(f (•; D) : R ^ R),значение которой в точке х равно минимальной длине листа шириной х, достаточной для того, чтобы разместить набор прямоугольников Dдля гильотинного раскроя [11].
Целью моей научно-исследовательской работы является разработка модификации алгоритма ФГР, учитывающего увеличение количества ограничений для размещаемого набора, а также определения фиксированных размеров листа. Это необходимо в связи с введением ограничений на размеры рабочей поверхности - стола, на котором происходит раскрой. Таким образом, ширина и длина стола будут фиксированы и при построении карты раскроя будет необходимо сохранять величину первого разреза, а также размещение детали после него.
Следовательно, можно выделить следующие задачи:
1. Разработка модификации алгоритма ФГР с учетом ограничений размеров рабочего стола и типа исходного материала.
2. Разработка модификации алгоритма с применением метода ветвей и границ, при условии целочисленности полученного результата, а также наличия ограничения на размер полученных карт.
3. Анализ полученных результатов каждого из алгоритмов.
4. Реализация пользовательского интерфейса для демонстрации результатов работы программ
Главной целью моей научно - исследовательской работы было написание модифицированного алгоритма ФГР применительно к рулонному материалу с наличием ограничений на рабочий стол. Добавив ограничения и изменив целевую функцию удалось разработать другой алгоритм, главный принцип которого заключается в минимизации количества применений карт раскроя, а также сведения к минимуму отходов производства, а также возможности повторного применения остатков материала в дальнейшем.
Качество полученного решения, как привило, зависит, не только от выбранного алгоритма раскроя, но и от метода размещения деталей на материале. Прямоугольный раскрой деталей является часто применяемым, поскольку на прямоугольной заготовке подходящего размера в дальнейшем можно раскроить деталь любой формы.
В первом алгоритме путем добавления ограничений при формировании поднаборов до вычисления, а также изменение организации квазиобратной функции к поднабору позволили достичь хороших результатов. Таким образом, ни одна из карт раскроя не превышает заданные ограничения рабочего стола по ширине, а также позволяет производить резы таким образом, чтобы на рабочий стол помещались детали без возможности произвести рез в области детали.
Результаты работы обоих алгоритмов позволяют сделать вывод о плюсах и минусах каждого. К плюсам первого алгоритма можно отнести достаточно разнообразное количество вариантов выбора карты раскроя, а также сравнительно понятный алгоритм. Представление большого выбора карт позволит подобрать карту, размеры которой, наиболее близки к размеру исходного материала. С другой стороны, большой выбор - источник проблем выбора, поскольку анализировать карты предстоит самостоятельно.
Второй алгоритм избавляет пользователя от процесса выбора карты, предоставляя оптимальный вариант. Изменяя целевую функцию задачи, можно добиться необходимого исхода задачи.
Полученные результаты позволяют выдвигать предположения о природе таких размещений, об их особенностях и недостатках, что несомненно очень важно. К минусу можно отнести отсутствие точной оценки выполнения программы, ввиду непредсказуемости входных данных. Одно и то же количество деталей, подаваемых на вход, может иметь различную трудоемкость в зависимости от количества наборов в которых они содержатся. Следовательно, предсказать приблизительное время работы достаточно сложно.
В процессе выполнения научно - исследовательской работы были изучены все аспекты, необходимые для качественного выполнения работы. Все поставленные цели и задачи были успешно выполнены.
1. Мухачева Э.А., Верхотуров M.A., Мартынов B.B. Модели и методы расчета раскроя-упаковки геометрических объектов .- Уфа: УГАТУ, 1998. - 217с
2. Петренко С.В., Оптимизация размещения двумерных геометрических объектов на анизотропном материале с использованием математического программирования // Дис. ... канд. техн. наук : 05.13.18 Уфа, 2005 115 с.
3. Мухачева Э.А., Валеева А.С. Модели и методы решения задач ортогонального раскроя и упаковки: аналитический обзор и новая технология блочных структур. Приложение к журналу «Информационные технологии», 2004, №5, 32с.
4. Мухачева Э.А. Рациональный раскрой промышленных материалов. Применение в АСУ. -М.: Машиностроение, 1984. -176c
5. Mir-Bahador Aryanezhad, Department of Industrial Engineering, Iran University of Science and Technology, Quality and Reliability Engineering International Tehran, November 2008, Volume 24, Issue 7, pages 765-778
6. Мурзакаев Р.Т., Шилов В.С., Буркова А.В. Основные методы решения задачи фигурной нерегулярной укладки плоских деталей. [Электронный ресурс] // Инженерный вестник Дона. - 2013 - No. 4. - Режим доступа: http: //www.ivdon.ru/magazine/archive/n4y2013/2043.
7. Blazewicz J., Hawryluk P., Walkowiak R. Using a tabu search approach for solving the two-dimensional irregular cutting problem. - Annals of OR, 41(1-4), pp.313-325, 1993.
8. Сиразетдинова Т.Ю. Конструирование прямоугольного раскроя в системах
автоматизированного проектирования с учетом дефектных областей материала //Автореферат диссертации на соискание ученой степени кандидата технических наук, Уфа: Башкирский Государственный
Университет, 2007. -130с
9. Валиахметова Ю. И., Телицкий С. В. Применение систем автоматизированного проектирования карт раскроя в судостроении. «Вестник воронежского технического университета», № 6 / том 8 / 2012, 6с
10. Fabio Furini, Enrico Malaguti, Dimitri Thomopulos Modeling Two¬
Dimensional Guillotine Cutting Problems via. Integer Programming. //[Электронный ресурс] http://www.optimization-online.org/index.html,
2014, 26c
11. Лернер Э.Ю., Фазылов В.Р. Функция гильотинного размещения для набора прямоугольников // Исслед. по прикл. матем. и информат. - Казань: Унипресс. 1999.-7с
12. Mir-Bahador Aryanezhad, Department of Industrial Engineering, Iran
University of Science and Technology, Quality and Reliability Engineering International Tehran, November 2008, Volume 24, Issue 7, pages 765-778
13. Андрианова А. А., Мухтарова Т. М., Фазылов В. Р. Модели задачи негильотинного размещения набора прямоугольников на листе и полуполосе // Учён. зап. Казан. ун-та. Сер. Физ.-матем. науки, 2013. -с. 5¬17
14. Сиразетдинов Т.М., Проектирование гильотинного раскроя листового и рулонного материала с использованием послойных алгоритмов // Дис. ... канд. техн. наук : 05.13.12 : Уфа, 2004 139 с.
15. Masao Sugi, Yusuke Shiomi, Tsuyoshi Okubo, Kazuyoshi Inoue and Jun Ota, A Solution for 2D Rectangular Cutting Stock Problems with 3-Stage Guillotine-Cutting Constraint, International Journal of Automation Technology, Vol.4, No.5, pp. 461-468, 2010.
16. Верхотуров М.А., Мартынов В.В., Мухачева Э.А. Имитационное моделирование процессов размещения. Основные модели // Имитационное моделирование. Теория и практика: Сборник докладов второй
всероссийской научно-практической конференции ИММОД-2005. Том 1.
СПб.: ЦНИИТС. 2005. - с. 90-95.