ISSN 1992-6502 (P ri nt)_
2016. Т. 20, № 4 (74). С. 114-124
Ъьомт, QjrAQnQj
ISSN 2225-2789 (Online) http://journal.ugatu.ac.ru
УДК 004.023
Конструирование алгоритмов геометрического размещения
на основе матричной и уровневой технологий
а. с. Филиппова 1, ю.и. Валиахметова 2, э. и. Дяминова 3
1 annamuh@mail.ru, 2 julikas@inbox.ru, 3 xasel@mail.ru
1 ФГБОУ ВО «Башкирский государственный педагогический университет им. М. Акмуллы» (БГПУ) 2,3 ФГБОУ ВО «Уфимский государственный авиационный технический университет» (УГАТУ)
Поступила в редакцию 20.12.2016
Аннотация. В статье рассматриваются матричная и уровневая технологии конструирования алгоритмов решения задач геометрического размещения. Приведена структура матричной технологии с примерами использования для решения МР-трудных задач геометрического покрытия, декомпозиции многосвязного ортогонального полигона, комплексной задачи геометрического покрытия и раскроя. Исследуется эффективность вариантов матричных и уровневого алгоритма на примере решения двухкритериальной комплексной задачи геометрического покрытия и раскроя. Приведены результаты решения специально сгенерированных безотходных примеров с единичными коэффициентами покрытия и раскроя. Даны рекомендации для практического решения комплексной задачи геометрического покрытия и раскроя.
Ключевые слова: многосвязный ортогональный полигон; матричная технология; уровневая технология; комплексная задача геометрического покрытия и раскроя; безотходные задачи.
Технологические процессы в различных прикладных отраслях часто используют этап раскроя или размещение деталей с учетом геометрических особенностей. И этот этап является важным с точки зрения экономии ресурсов и сложным для принятия оптимального решения. Подобные проблемы описываются математическими постановками оптимизационных задач геометрического размещения [1]. Классическими являются задачи раскроя-упаковки [2]. Их исследованием занимаются с 40х годов прошлого века [3]. Большинство из задач размещения являются КР-трудными [1]. Т.е. для их решения до сих пор не известно точных алгоритмов полиномиальной сложности. Этим обуславливается актуальность разработки новых высокоэффективных алгоритмов.
В статье приводится обобщение некоторых технологий разработки и конструирования алгоритмов решения задач геометрического размещения. Технология представляет возможность использовать ту или иную общую идею для формирования множества вариантов алгоритмов решения.
ЗАДАЧИ ГЕОМЕТРИЧЕСКОГО РАЗМЕЩЕНИЯ
Базовыми задачами геометрического размещения являются следующие [1, 2]:
• раскрой линейного (одномерного) материала;
• раскрой листов на прямоугольные заготовки;
• упаковка трехмерных контейнеров;
• размещение и раскрой фигурных объектов в заданной области;
• максимальное покрытие линейного материала;
• прямоугольное геометрическое покрытие.
Классификация основных моделей задач геометрического размещения приведена в [4].
Проблема оптимального геометрического размещения встречается на практике как самостоятельная задача, и может выступать в роли подзадачи. Кроме того, в последнее время исследуются комплексные задачи. Первый пример - это задача геометрического покрытия и
раскроя [5]. В которой требуется найти план покрытия области, например, пола, и план раскроя исходного материала (например линолеума) на покрывающие элементы. Задача двухкритери-альная: минимизировать расход материала и максимизировать размер покрывающих элементов. Другой пример рассмотрения задач раскроя и покрытия в комплексе - покрытие листовым материалом специальных технических объектов -обечаек [6].
Несмотря на большое разнообразие задач размещения, все они имеют схожую структуру. Общим является наличие двух групп объектов. Между элементами этих групп устанавливается и оценивается соответствие. Эта общая структура и позволяет разрабатывать и использовать аналогичные подходы к формированию решений для разных задач.
ТЕХНОЛОГИИ КОНСТРУИРОВАНИЯ
АЛГОРИТМОВ РЕШЕНИЯ ЗАДАЧ ГЕОМЕТРИЧЕСКОГО РАЗМЕЩЕНИЯ
Анализ существующих алгоритмов позволил выделить некоторые общие подходы, т.е. технологии, к разработке и конструированию новых алгоритмов. Под технологией будем понимать способ конструирования решений на основе базовой идеи, позволяющий создавать варианты алгоритмов с общей структурой. В [7] описаны следующие технологии конструирования алгоритмов решения задач геометрического размещения: послойная; уровневая; безуровневая; блочная [8]; матричная; на основе специальных геометрических структур. В данной статье для конструирования алгоритмов используется уровневая и матричные технологии. Остановимся на них поподробнее.
Послойная и уровневая технологии. Рассмотрим способ конструирования алгоритмов решений на примере базовой задачи прямоугольной упаковки [2, 4].
Задача упаковки прямоугольников в полосу (2 Dimensional Strip Packing Problem, 2DSP). Заданы размеры прямоугольников (предметов) и один из размеров полосы, например, ширина W, второй - длина - является переменным. Требуется найти упаковку прямоугольников в полосу минимальной длины L.
За основу послойных алгоритмов принимается принцип размещения прямоугольников
группами, составляющими полосы (слои). Начало этого принципа заложено в работах M. Adamowich & A. Albano [9]. Стратегия состоит в последовательном выполнении идентичных шагов, каждый из которых выполняется для выделенного (выбранного по какому-либо правилу) на предыдущем шаге прямоугольника. Построение слоя: полоса (лист, в случае раскроя листа на прямоугольные заготовки) разделяется на вертикальные слои, которые заполняются прямоугольниками автономно. Возможность разработки различных вариантов алгоритмов на основе послойной технологии заключается в комбинации способов формирования правил построения слоя, формирования группы прямоугольников (например «склейка» близких по размеру прямоугольников), выбора текущего прямоугольника для размещения и др. Эти правила могут опираться, например, на случайный выбор, или «первый подходящий», или «лучший подходящий» и т.п. Подобная стратегия удобна для гильотинного раскроя (рис. 1, а). Условие гильо-тинности резов характерно для станков, например, в массовом производстве, машиностроении.
Уровневые стратегии сходны с послойными технологиями. Уровневые алгоритмы используют стратегию, когда каждый новый элемент упаковывается с выравниванием, например, по левому и нижнему краю. Через правую сторону прямоугольника максимальной длины проводят вертикальную линию. Полубесконечная полоса оказывается разделенной на уровни прямоугольной формы, содержащие целиком все покрывающие их прямоугольники. Среди простых и популярных алгоритмов решения задач упаковки прямоугольников в полосу числятся алгоритмы на основе уровневой технологии со стратегиями: следующий подходящий (NFD); лучший подходящий (BFD) и др. [4] (рис. 1, б). Разнообразия алгоритмов на основе этой технологии можно добиваться, например, способами сортировки последовательности прямоугольников, или однофазным, двухфазным и т.п. способами применения стратегий, или включением вероятностных процедур.
При применении уровневых технологий неизбежными оказываются потери за счет введения уровней большой длины. Эта технология, безусловно, эффективна для конструирования гильотинных раскроев.
Р2 |м «ш ■
Р3
Р1
Р5 5
Р1 Р3 Р4
Р6!ш Р5 !■ I
Р4
Р2 1!
Р1 Р3
а б
Рис. 1. Планы упаковок, технологии: а - послойная; б - уровневая со стратегией «лучший подходящий»
Матричная технология. Геометрическая составляющая рассматриваемых в статье задач накладывает определенные трудности в преобразовании информации при конструировании решений, связанные, например, с учетом геометрических особенностей области, в которой размещаются предметы. В связи с этим широко используется матричный способ представления информации о геометрии. Так, например, в [10] предложен метод наложения двумерных матриц для решения следующей задачи.
Задача 2D геометрического покрытия. Требуется расположить различные геометрические объекты на покрываемой поверхности таким образом, чтобы вся поверхность была покрыта с наименьшей площадью перекрытий объектов, использовав при этом наименьшее количество объектов.
В алгоритме покрытия двумерными матрицами [10] каждая покрываемая область представляется в виде матрицы. В двумерной матрице каждая ячейка представляет собой пиксель на плоскости. Элементы матриц указывают на непокрытую или покрытую однократно или многократно геометрическими объектами область.
Ранее авторами данной статьи предложен алгоритм на основе матричной технологии для решения следующей задачи.
Задача размещения прямоугольников в многосвязный ортогональный полигон (МОП) [11]. Дана ортогональная многоугольная область, для которой известны ширина Ж и длина Ь
описывающего прямоугольника, а также координаты (%у, п) и размеры (©у, V), V = 1, р прямоугольных препятствий внутри области (рис. 2, а). Необходимо найти план размещения прямоугольных объектов с максимальным коэффициентом размещения.
Алгоритм на основе матричной технологии проектирования размещения прямоугольных объектов внутри многоугольной области подробно описан в [11] и основан на представлении МОП в виде двумерного бинарного массива. Через все грани препятствий проводятся сквозные линии. В результате область с препятствиями оказывается покрытой сетью (рис. 2, б), каждая ячейка которой либо не содержит препятствий (значение «0» в бинарной матрице), либо является препятствием или частью препятствия (значение «1» в бинарной матрице). Далее выбирается начальная пустая ячейка (например левая нижняя), начиная с которой согласно какому-либо критерию происходит объединение смежных пустых ячеек в прямоугольную область. Возможные критерии выбора направления объединения: горизонтальное, вертикальное, диагональное (чередование горизонтального и вертикального), случайный выбор направления (равновероятностное; пользовательское - вероятности выбора направлений задаются «вручную»; пропорциональное - вероятность выбора направлений зависит от соотношения длины и ширины области). Объединение происходит до тех пор, пока на пути не встретится ячейка-препятствие, после чего вновь ищется начальная ячейка и все шаги повторяются. Процесс продолжается до тех пор, пока все пустые ячейки не будут отнесены к какой-либо прямоугольной области (боксу). В результате исходный МОП будет разбит на прямоугольные области, в которые далее необходимо разместить прямоугольные объекты (рис. 2, в). Таким образом, задача сводится к задаче 2Б упаковки.
(Х^ Пу)
1 0 0 0 0 0 0 0
1 0 0 0 0 0 1 0
0 0 0 0 0 0 0 0
0 0 1 1 0 0 0 0
0 0 0 0 0 0 0 1
0 0 0 1 1 0 0 1
—Ь-►
а б в
Рис. 2. Пример матричной декомпозиции МОП на прямоугольные области:
а - многосвязный ортогональный полигон; б - построение бинарной матрицы; в - результат объединений ячеек в прямоугольные области
X
V
Ю
V
Алгоритмы на основе матричной технологии показали хорошую эффективность как на реальных, так и на сгенерированных тестовых примерах задач размещения прямоугольников и геометрического покрытия [10, 11].
Далее рассмотрим постановку комплексной задачи геометрического покрытия и раскроя, исследуем эффективность алгоритмов ее решения, сконструированных на основе уровневой и матричной технологий.
КОМПЛЕКСНАЯ ЗАДАЧА ГЕОМЕТРИЧЕСКОГО ПОКРЫТИЯ И РАСКРОЯ
Комплексная задача геометрического покрытия и раскроя [12]. Дана информация о МОП, размеры прямоугольного ресурса. Необходимо найти план покрытия МОП и план раскроя прямоугольного ресурса на покрывающие элементы, при этом требуется максимизировать размеры покрывающих элементов и минимизировать расход (площадь или количество) раскраиваемого ресурса. Эта проблема формализуется математической моделью задачи с двумя целевыми функциями.
Для описания области покрытия МОП введем прямоугольную систему координат: оси Ох и Оу совпадают соответственно с нижней и левой боковой сторонами огибающего МОП прямоугольника (рис. 3, а). Ж, Ь - ширина и длина огибающего МОП прямоугольника. Тогда положение каждого прямоугольного запретного участка Bv задается координатами (%у, п) его нижнего левого угла и размерами юу, 'kv, V = 1, р, где ц - количество запретных участков.
W
со3
Bi
P
В-
В4
fe, тТ
B
т
h
\
h—
Т I
h \
1
а б
Рис. 3. Постановка комплексной задачи:
а - МОП Р с запретными областями Вг; б - размеры ресурса (листы/ полубесконечный рулон)
Математическая модель комплексной задачи геометрического покрытия и раскроя.
Дано: МОП, подлежащий покрытию, заданный совокупностью
Р = (, п ),К, Ч), V = 1, р).
Кроме того, имеется неограниченное множество прямоугольных листов длины © и ширины И (для задач с ресурсом в виде листов), либо полубесконечный рулон ширины И, подлежащий раскрою на прямоугольные элементы (см. рис. 3, б). Также задана информация о деловых отходах в виде множества К = (к\, к2, ... кт) прямоугольных
элементов с размерами /* х ^, j = 1, т.
Требуется: найти план покрытия МОП Р, план раскроя прямоугольного ресурса на покрывающие прямоугольные элементы и минимизировать значения функций, характеризующих эффективность решения подзадач геометрического покрытия и раскроя:
min
in Fm(T) = £ (/, + ж )
min Fcut(T) =
N РЛ
если материал прямоуголшые листы, Lpn = max (xi + / ) , если
материал - полоса,
где T = {m, w, l}, w = (wi, W2, ..., wm), l = (li, I2, ..., lm) - множество из m прямоугольных
элементов с размерами wi х /, i = 1, m, образующих покрытие МОП и подлежащих раскрою из ресурса и деловых отходов; li, wi - длина и ширина покрывающего прямоугольного элемента tj Е T, входящего в покрытие МОП,
T = Q ^ K+ , где Q - множество покрывающих МОП прямоугольных элементов, раскроенных из стандартного ресурса, K+ - множество покрывающих МОП прямоугольных элементов, раскроенных из деловых отходов, NpЛ - количество использованных прямоугольных листов (в случае листового ресурса в задаче раскроя), Lpn -длина занятой части полубесконечной полосы (в случае рулонного ресурса в задаче раскроя), Lpn = max(xi + /i) = х5 + /5; х', yi - коорди-
наты левого нижнего угла прямоугольника с номером \ в плане раскроя прямоугольного ресурса (в системе координат прямоугольного ресурса). Для формализации задачи введем дополни-
„х „у — х — у
тельно переменные 2, , и z/ , такие, что:
= 1 (гу = 1), если проекция прямоугольного
элемента 1 на ось Ох (Оу) находится левее (ниже) проекции прямоугольного элемента ] на ось
Ох (Оу), иначе I* = 0 (^ = 0); —* = 1 (—^ = 1),
i=1
<
1
3
L
если проекция прямоугольного элемента I на ось Ох (Оу) находится левее (ниже) проекции запретной области V на ось Ох (Оу), иначе = 0 (= 0). Тогда необходимо найти: 1. Множество Т прямоугольных элементов, покрывающих МОП Р, и соответствующий план покрытия, т.е. для каждого ^ £ Т требуется
отыскать набор значений , yi, I, , где х,, у, -
координаты левого нижнего угла элемента в системе координат МОП Р, и - соответственно длина и ширина прямоугольного элемента, таких, что:
I <к, щ <0, / = 1,т , (1)
хг + I < Ь , у + щ < Ж , I = 1т , (2)
X > 0, у > 0, / = 1~т , (3)
+1*, + 4" + 1Ууг > 1, г = 1т, ] = 1т, I * ] (4) у] > уг + щ, - Ж(1 - ), г = 1,т, ] = 1, т, (5) х1 > хг + - Ь(1 - 2**), г = 1, т, j = 1, т, (6)
+ + + ~y > 1, i = 1, m, v = 1, ^,
Vv > yt + wi - W(1 - ~У),i = 1,m,v = 1, ^;
^v > X + l - L(1 - ) , i = 1, m, v = 1, ^,
w • h = SМОП
(7)
(8) (9)
(10)
i=1
Условия (1) накладывают ограничения на размеры покрывающих МОП прямоугольных элементов: они не должны превышать размеры прямоугольного ресурса. Условия (2), (3) задают допустимое положение прямоугольного элемента в области МОП: они не должны выходить за границы МОП. Условия (4)-(6) обеспечивают неперекрытие прямоугольных элементов между собой, (7)-(9) - неперекрытие прямоугольных элементов с запретными областями. Условие (10) описывает необходимость полного геометрического покрытия полезной площади МОП прямоугольными элементами (без «просветов»).
2. План раскроя ортогонального ресурса на прямоугольные элементы множества Т такой, что выполняются следующие условия:
*;> 0, у'> 0, г = 1,т , (11)
x' .+l. <0, y'.+w. < h, i = 1, m,
ii ' s i i ' ? ?
(12)
zX + zxfi + zy + zy > 1, i = 1, m, j = 1, m,i Ф j ,(13)
y'j > y\+w - w (1 - zy), i=1m, j=1m, (14)
x'j > x' + lt - L(1 - zx ), i = Ilm, j = 1m. (15)
Условия (11)-(12) обеспечивают допустимое размещение прямоугольных элементов внутри ортогонального ресурса; (13)-(15) обеспечивают неперекрытие прямоугольных элементов между собой.
Целевые функции min Fcov(T) и min Fcut(T) позволяют сравнивать качество различных решений одной и той же задачи, однако не позволяют объективно сравнивать эффективность решений различных задач, поскольку их значения зависят от исходных данных, например от размеров ресурса и МОП.
Поэтому качество полученных решений оценивается также с помощью двух относительных показателей:
• для задачи геометрического покрытия: рассчитывается коэффициент покрытия
S P
_ MOP resourse
PS
resourse
где Бмор и 8ге$оиг$е - площади МОП и ресурса соответственно, Рт и Ртезоитяв - суммарные периметры покрывающих элементов и ресурса соответственно;
• для задачи ортогонального раскроя: определяется коэффициент раскроя
S wi ■ li
kcut
i=1
S„
Коэффициент геометрического покрытия равен 1, если стыки покрывающих элементов находятся лишь на границах МОП, и не проходят по внутренней площади МОП. В противном случае
кеоч < 1.
При безотходном решении задачи, то есть когда отсутствуют потери материала, коэффициент раскроя равен 1. В противном случае ки < 1.
Коэффициенты раскроя и покрытия являются противоречивыми друг другу, поскольку максимизация размеров покрывающих элементов влечет за собой снижение коэффициента раскроя (увеличение отходов). И, наоборот, при мелких размерах раскраиваемых элементов увеличивается коэффициент раскроя, но уменьшается коэффициент покрытия.
УРОВНЕВЫЙ И МАТРИЧНЫЕ АЛГОРИТМЫ ДЛЯ РЕШЕНИЯ КОМПЛЕКСНОЙ ЗАДАЧИ ГЕОМЕТРИЧЕСКОГО ПОКРЫТИЯ И РАСКРОЯ
Применение уровневой технологии для решения комплексной задачи геометрического покрытия и раскроя основано на последовательном
m
выполнении алгоритмов решения каждого из следующих этапов (подзадач).
Этап I: декомпозиция МОП. В МОП выделяют прямоугольные области, которые не содержат препятствий. Для решения этой подзадачи используется модификация уровневого алгоритма условных резов [13]. При этом целесообразно проводить декомпозицию МОП на прямоугольные области так, чтобы количество таких областей было минимально, а их площади как можно больше. Первоначальный МОП разбивают на части сквозными условными резами таким образом, чтобы препятствия находились на границах вторичных МОП. Далее для каждого вторичного МОП выполняют следующее: сперва выделяют центральную (предположительно, наибольшую по площади) область без препятствий. Для этого нужно провести 4 условных сквозных реза:
вертикальный левый - проводится по препятствию наибольшей длины, примыкающему к левой грани области;
вертикальный правый - проводится по препятствию наибольшей длины, примыкающему к правой грани области;
горизонтальный верхний - проводится по препятствию наибольшей ширины, примыкающему к верхней грани области;
горизонтальный нижний - проводится по препятствию наибольшей ширины, примыкающему к нижней грани области.
В зависимости от последовательности проведения резов, можно получить разные области. Далее последовательность резов определяется случайным образом.
В результате проведения четырех резов исходное пространство оказывается разделенным на 5 прямоугольных областей. В зависимости от наличия в них определенных видов препятствий можно выделить 3 типа областей:
а) область без препятствий - прямоугольная область, не содержащая ни одного препятствия, может быть заполнена с помощью любого алгоритма гильотинного размещения, в том числе уровневого.
б) простая область - прямоугольная область, содержащая препятствия только одного типа (расположенные вплотную к левой, правой, верхней или нижней грани области). Из нее нетрудно выделить области без препятствий - пространства между препятствиями и справа, слева, под или над препятствиями в зависимости от их типа.
в) сложная область - прямоугольная область, содержащая препятствия как минимум двух типов.
Такими действиями получают некоторое множество прямоугольных областей разных размеров, образующих декомпозицию исходного МОП. Т.к. выбор последовательности выполнения резов влияет на результат, можно выполнять этот этап несколько раз для получения лучшей по какому-либо критерию (например, по наибольшей средневзвешенной площади) декомпозиции.
Этап II: геометрическое покрытие. Находят план покрытия каждой из областей прямоугольными элементами максимального размера, возможного для заданного ресурса. Т.е. решается подзадача геометрического покрытия прямоугольной области. Для этого можно использовать:
• простой однопроходный алгоритм «нижний левый» [4], который на каждом шаге покрывает область прямоугольником максимально допустимого размера с непокрытой самой нижней и левой точки;
• алгоритм, предложенный С. В. Телицким в [14], являющийся модификацией метода последовательного уточнения оценок [15] и учитывающий перерасход покрывающего материала (ресурса). Это многопроходный алгоритм, который позволяет найти локально-оптимальный план покрытия;
• многопроходный алгоритм локального поиска оптимума на основе эволюционной стратегии [4].
Этап III: ортогональный раскрой. И последний этап - решение подзадачи раскроя: требуется найти план раскроя ресурса на покрывающие элементы. Здесь возможно использовать любые известные алгоритмы решения задачи прямоугольной упаковки. Мы для реализации этого этапа использовали:
• быстрый однопроходный алгоритм «первый подходящий» [4];
• многопроходный алгоритм последовательного уточнения оценок [15], учитывающий подетальные нормы расхода материала для формирования упорядоченной последовательности раскраиваемых элементов;
• послойный алгоритм с оценками [16], основанный на послойной технологии с учетом подетальных норм расхода материала.
На рис. 4 представлена структура матричной технологии конструирования реализованных способов решения некторых задач геометрического размещения. Это задачи геометрического покрытия [10], размещение прямоугольников в МОП [11], комплексная задача геометрического покрытия и раскроя [12]. Для
решения последней ранее предложены трехэтап-ный подход [14] (подзадачи: декомпозиция МОП на прямоугольные области, определение размеров элементов, покрывающих эти прямоугольные области, и раскрой ресурса на покрывающие элементы), и двухэтапный [12] (подзадачи: выделение в МОП прямоугольных областей, размеры которых не превышают размер ресурса, и раскрой ресурса на элементы, совпадающие с выделенными прямоугольными областями) подходы.
Процесс поиска решения (лучшего плана геометрического размещения) представляет собой последовательное решение подзадач, для каждой из которых используется один из перечисленных в схеме на рис. 4 алгоритмов. Кроме того возможны реализации общих алгоритмов, в которых для решения подзадач будут использованы другие известные алгоритмы или их модификации. Различные комбинации, модификации процедур решения подзадач, использование разных оценок качества частичных решений позволяют конструировать варианты общего алгоритма решения комплексной задачи геометрического покрытия и раскроя.
ВЫЧИСЛИТЕЛЬНЫЙ ЭКСПЕРИМЕНТ
В описанной ниже серии экспериментов в качестве тестовых примеров задачи были использованы специально сгенерированные исходные данные, допускающие так называемое безотходное решение. В таких примерах имеется решение (план покрытия и план раскроя), при котором коэффициенты геометрического покрытия и раскроя равны 1.
Эксперимент №1. Сравнение эффективности уровневой и матричной технологий конструирования общих алгоритмов решения комплексной задачи геометрического покрытия и раскроя на безотходных примерах.
Это трехэтапные способы решения, в которых на каждом этапе подзадача решается одним из возможных алгоритмом. Выходная информация одной подзадачи является исходной для следующей. Исследована эффективность двух следующих общих алгоритмов, в которых для решения подзадач покрытия и раскроя используются простые однопроходные эвристики:
• алгоритм на основе матричной технологии М+Е+Е использует:
этап 1 - подзадача декомпозиции МОП: алгоритм матричной декомпозиции (М),
этап 2 - подзадача геометрического покрытия: алгоритм «первый подходящий» (Е),
этап 3 - подзадача раскроя: алгоритм «первый подходящий» (Е);
• алгоритм на основе уровневой технологии Ь+Е+Е использует:
этап 1 - подзадача декомпозиции МОП: алгоритм условных резов (Ь),
этап 2 - подзадача геометрического покрытия: алгоритм «нижний левый» (ВЬ),
этап 3 - подзадача раскроя: алгоритм «первый подходящий» (Е).
Результаты решения десяти безотходных примеров эксперимента №1 приведены в табл. 1.
Таблица 1 Результаты решения безотходных задач алгоритмами различных технологий
№ задачи Матричный алгоритм М+ВЬ+Е Уровневый алгоритм Ь+ВЬ+Е
ксШ кео^ ки кеоу
1 0,936 0,559 0,955 0,557
2 0,982 0,561 0,995 0,569
3 0,995 0,568 1,000 0,536
4 0,936 0,571 0,936 0,569
5 0,968 0,530 0,959 0,522
6 0,951 0,528 0,936 0,501
7 0,929 0,376 0,929 0,370
8 0,887 0,521 0,883 0,544
9 0,954 0,840 0,953 0,837
10 0,991 0,530 0,986 0,545
среднее 0,953 0,540 0,953 0,536
Как видно из табл. 1, использование алгоритма на основе матричной технологии позволяет получать более эффективные решения: коэффициент раскроя в среднем отличается незначительно, однако коэффициент геометрического покрытия в среднем выше при исполь -зовании матричного алгоритма. Поэтому в следующем эксперименте для исследования эффективности вариантов алгоритмов на основе одной технологии будем использовать матричные алгоритмы.
Эксперимент №2. Исследование эффективности различных комбинаций алгоритмов решения подзадач, составляющих варианты матричных алгоритмов решения комплексной задачи геометрического покрытия и раскроя.
\Область триме-не-
¡D
<в . а
и х 5
о u S
& К ?
S и -©<
5 s s
£ ■ *
Задача геометрического
покрытия (Фроловский В.Д., Забелин С.Л.)
Расширенная целочисленная матрица
о
3
о
о н
ч ю о
о
4
о
5 ■а ее
о -
ч <
& Л1
О S
m «
о &
Л
а =
о Я О
Процедура наложения двумерных матриц
Первый подходящий
Вероятностный
Экстремальный
Муравьиный
Генетический
Коэффициент эффективности покрытия поверхности
Оценка точек, которые выходят за границы покрываемой поверхности
Оценка точек, перекрываемых объектами внутри покрываемой поверхности
Оценка точек покрываемой поверхности, которые были не покрыты объектами
Задача размещение прямоугольников в МОП (Мухачева Э.А., Дяминова Э.И.) Комплексная задача геометрического покрытия и раскроя
Трехэтапный подход (Телицкий С.В., Филиппова А.С., Валиахметова Ю.И.) Двухэтапный подход (Филиппова А.С., Дяминова Э.И.)
Бинарная матрица
Процедуры объединения ячеек
По способу выбора направления:
диагональное
(варианты чередования горизонтального и вертикального)
вероятностный выбор (равновероятностный, пропорциональный, пользовательский и т.п.)
По правилам:
оценочное
по максимальному размеру
По условиям окончания объединения:
Простое (обнаружена «1» (препятствие) или граница области) ограниченное (обнаружена «1», граница области или превышен размер ресурса)
Использование условных оценок &' (характеризует эффективность схемы декомпозиции, оценка не должна превышать критическое значение)
Процедуры объединения ячеек
Упаковка (уровневые алгоритмы, эволюционные алгоритмы ) Покрытие с ограничением на размеры покрывающих элементов (FF, SVC, послойный с оценками, эволюционный...) Покрытие элементов (FF, SVC, послойный с оценками, эволюционный .)
Алгоритмы раскроя ортогонального ресурса
Коэффициент раскроя
Коэффициент раскроя
Коэффициент покрытия
Суммарный полупериметр покрывающих элементов
Комплексная оценка
Рис. 4. Структура матричной технологии
Исследована эффективность девяти общих для решения подзадач каждого этапа в которых алгоритмов на основе матричной технологии, использовались следующие алгоритмы:
этап 1 - подзадача декомпозиции МОП: алгоритм матричной декомпозиции (М);
этап 2 - подзадача геометрического покрытия: алгоритм «нижний левый » (ВЬ), алгоритм последовательного уточнения оценок (V); эволюционный алгоритм (Е);
этап 3 - подзадача раскроя: алгоритм «первый подходящий» (Е), алгоритм последовательного уточнения оценок (V); послойный алгоритм с оценками (Ь).
Таким образом, получили следующие варианты общего алгоритма: М+ВЬ+Е, M+BL+V, М+ВЬ+Ь, M+V+Е, M+V+V, M+V+L, М+Е+Е, М+Е+^ M+E+L.
В табл. 2 приведены результаты по каждой из 10 случайно сгенерированных безотходных задач, а также средние величины коэффициента геометрического покрытия и коэффициента раскроя. Темным цветом в таблице 2 выделены ячейки, содержащие лучший результат по примеру (столбцу).
В среднем лучший результат решения комплексной задачи с точки зрения эффективности геометрического покрытия получен вариантом алгоритма при помощи комбинации М+Е+Ь, когда на этапе решения подзадачи геометрического покрытия использован эволюционный алгоритм, а на этапе решения подзадачи ортогонального раскроя - послойный алгоритм с оценками. Заме-
тим, что остальные комбинации алгоритмов существенно проигрывают по значению коэффициента геометрического покрытия как в большинстве примеров по-отдельности, так и в среднем.
Лучший результат при решении примеров подзадачи ортогонального раскроя получен при помощи комбинации алгоритмов M+E+V, то есть на этапе решения подзадачи геометрического покрытия применялся эволюционный алгоритм, а на этапе решения подзадачи ортогонального раскроя - алгоритм последовательного уточнения оценок. Следует отметить, что другие комбинации алгоритмов также позволяют получать весьма эффективные решения, коэффициент ортогонального раскроя отличается несущественно у комбинаций M+V+L и M+V+Е, когда на этапе решения подзадачи геометрического покрытия используется алгоритм последовательного уточнения оценок, а на этапе решения подзадачи ортогонального раскроя - соответственно послойный алгоритм с оценками и первый подходящий.
Следует отметить, что лишь один вариант алгоритма показал оптимальное решение подзадачи раскроя. Это алгоритм с комбинацией М+ВЬ+Ь. Оптимального варианта плана покрытия не показал ни один из вариантов.
Таблица 2
Эффективность различных вариантов матричного алгоритма решения комплексной задачи геометрического покрытия и раскроя
Общий ал- Пока- № примера Сред-
горитм затель 1 2 3 4 5 6 7 8 9 10 нее
М+ВЬ+Е ксоу 0,559 0,561 0,568 0,571 0,530 0,528 0,376 0,521 0,840 0,530 0,540
каш 0,936 0,982 0,995 0,936 0,968 0,951 0,929 0,887 0,954 0,991 0,953
M+BL+V ксоу 0,557 0,543 0,563 0,588 0,516 0,517 0,370 0,540 0,838 0,555 0,539
каШ 0,942 0,982 0,986 0,950 0,955 0,964 0,936 0,880 0,952 0,986 0,953
М+ВЬ+Ь каоу 0,558 0,541 0,560 0,585 0,520 0,507 0,381 0,540 0,836 0,492 0,534
каШ 0,936 1,000 0,986 0,932 0,968 0,951 0,936 0,884 0,947 0,995 0,954
M+V+Е каоу 0,527 0,552 0,510 0,586 0,538 0,531 0,372 0,533 0,837 0,529 0,533
каШ 0,927 0,991 0,991 0,955 0,964 0,964 0,936 0,876 0,959 0,995 0,956
M+V+V каоу 0,548 0,550 0,530 0,570 0,513 0,529 0,390 0,533 0,826 0,531 0,536
каШ 0,927 0,986 0,991 0,932 0,964 0,950 0,936 0,874 0,959 0,986 0,951
M+V+L каоу 0,561 0,551 0,550 0,571 0,535 0,519 0,362 0,537 0,837 0,553 0,538
каШ 0,946 0,991 0,995 0,959 0,955 0,942 0,936 0,891 0,956 0,991 0,956
М+Е+Е каоу 0,575 0,550 0,533 0,569 0,521 0,518 0,369 0,534 0,833 0,541 0,535
каШ 0,945 0,986 0,991 0,945 0,968 0,955 0,936 0,880 0,932 0,986 0,953
M+E+V каоу 0,529 0,580 0,585 0,567 0,520 0,496 0,391 0,556 0,832 0,664 0,553
каШ 0,932 0,986 0,995 0,941 0,950 0,955 0,936 0,895 0,945 0,973 0,951
М+Е+Ь каоу 0,538 0,569 0,503 0,563 0,501 0,519 0,367 0,534 0,834 0,560 0,529
каШ 0,959 0,991 0,991 0,941 0,973 0,964 0,936 0,891 0,939 0,987 0,957
ЗАКЛЮЧЕНИЕ
Предложенные в статье схемы реализации вариантов алгоритмов решения комплексной задачи геометрического покрытия и раскроя основаны на уровневой и матричной технологиях. Один из вычислительных экспериментов показал преимущество матричной технологии по качеству покрытия. Структура матричной технологии позволила реализовать девять вариантов матричного алгоритма для решения комплексной задачи. Вычислительный эксперимент позволил выделить лучшие из них с точки зрения эффективности покрытия и раскроя.
Использование для оценки эффективности специальных безотходных примеров, для которых заранее известны оптимальные планы покрытия и раскроя, позволяют сделать заключение о том, что оптимального решения рассмотренные алгоритмы не получили. Это говорит о необходимости продолжения работы в направлении совершенствования способов конструирования алгоритмов решения новой NP-трудной комплексной задачи геометрического покрытия и раскроя.
СПИСОК ЛИТЕРАТУРЫ
1. Мухачева Э. А., Верхотуров М. А., Мартынов В. В.
Модели и методы расчета раскроя-упаковки геометрических объектов. Уфа: УГАТУ, 1998. 216 с. [E. A. Mukhacheva, M. A. Verhoturov, V. V. Martyinov, Models and methods of calculation of cutting-packaging of geometrical objects, (in Russian). Ufa: USATU, 1998]
2. Валиахметова Ю. И., Филиппова А. С. Теория оптимального использования ресурсов Л. В. Канторовича в задачах раскроя-упаковки: обзор и история развития методов решения // Вестник УГАТУ. 2014, Т. 18, №. 1 (62), С. 186-197. [J. I. Val-iakhmetova, A. S. Filippova, "The theory of optimal use of resources of L. V. Kantorovich in cutting-packaging tasks: overview and history of decision methods development," (in Russian) in Vestnik UGATU, vol. 18, no. 1 (62), pp. 186-197, 2014.]
3. Канторович Л. В. Рациональные методы раскроя металла // Произв.-техн. бюл. НК Боеприпасов СССР. 1942. № 7-8. С. 21-29. [L. V. Kantorovich, "Efficient methods of metal cutting," (in Russian), Product.-techn. bulletin. of NK Ammunition of the USSR, no. 7-8, pp. 21-29, 1942.
4. Мухачева Э. А. Методы локального поиска в задачах ортогонального раскроя и упаковки: аналитический обзор и перспективы развития / Э. А. Мухачева [и др.] // Новые технологии. Информационные технологии. 2004. № 5, Приложение. С. 2-17. [E. A. Mukhacheva, et al., "Methods of local search in tasks of orthogonal cutting and packaging: review and prospects of development," (in Russian). Moscow: New Technologies. Information Technologies, no. 5, annex, pp. 2-17, 2004.]
5. Valiahmetova J. I., Hasanova E. I., Filippova A. S. Some approaches to solve a complex problem of Geometrical covering and orthogonal cutting // Вестник УГАТУ. 2013, т. 17, №. 6 (59), С. 88-91. [J. I. Valiahmetova, E. I. Hasanova, and A. S. Filippova, "Some approaches to solve a complex problem of Geometrical covering and orthogonal cutting," (in English), in Vestnik UGATU, vol. 17, no. 6 (59), pp. 88-91, 2013.]
6. Кульга К. С., Меньшиков П. В. Оптимизация геометрического покрытия многосвязного ортогонального полигона с граничными препятствиями с учётом конструкторско-технологических ограничений // Вестник РГТРУ. 2014. №4, (вып. 50). Ч. 2. С. 75-82. [K. S. Kulga, P. V. Menshikov, "Optimization of a geometrical covering of the multicoherent orthogonal ground with boundary obstacles taking into account design-technology restrictions," (in Russian), in Vestnik RGTRU. Ryazan: RGTRU, no. 4 (vol. 50), part 2, pp. 75-82, 2014.]
7. Мухачева Э. А., Валиахметова Ю. И., Хасанова Э. И., Телицкий С. В. Проектирование размещения ортогональных объектов на полигонах с препятствиями // Новые технологии. Информационные технологии. 2010. № 10. С. 1622. [E. A. Mukhacheva, J. I. Valiakhmetova, E. I. Hasanova, S. V. Telitsky, "Design of orthogonal objects placement on grounds with obstacles," (in Russian). Moscow: New Technologies. Information technologies, no. 10, pp. 16-22, 2010.]
8. Филиппова А. С., Дяминова Э.И., Валиахметова Ю.И. Метод ограниченной декомпозиции для решения комплексной задачи геометрического покрытия и раскроя // Новые технологии. Информационные технологии. 2016. Т. 22, № 3. С. 179-187. [A. S. Filippova, E. I. Dyaminova, J. I. Valiakhmetova, "Method of limited decomposition for the solution of a complex problem of a geometrical covering and cutting," (in Russian). Moscow: New Technologies. Information technologies, no. 3, pp. 179-187, 2016.]
9. Дяминова Э. И., Филиппова А. С. Технологии конструирования решений в задачах геометрического размещения // Прикладная математика и фундаментальная информатика. 2016. № 3. С. 134-141 [E. I. Dyaminova, A. S. Filippova, "Technologies of decisions designing in problems of geometrical placement," (in Russian), Applied mathematics and fundamental informatics: annual scientific log, Omsk: OmGTU, no. 3, pp. 134-141, 2016.]
10. Филиппова А. С. Блочная технология конструирования алгоритмов для решения задач прямоугольной упаковки полубесконечной полосы // Вестник УГАТУ. 2005. Т. 6., №1 (12). С. 106-116. [A. S. Filippova, "Block technology of designing of algorithms for the solution of tasks of rectangular packaging of a semi-infinite strip," (in Russian) in Vestnik UGATU, vol. 6, no. 1 (12), pp. 106-116, 2005.]
11. Adamovicn A., Albano A. Nesting two-dimensional shapes in rectangular modules // Comput. Aeded Design. 1976. № 8 (1), С. 27-33. [A. Adamovicn, A. Albano, "Nesting two-dimensional shapes in rectangular modules," (in English), in Comput. Aeded Design, no. 8(1), pp. 27-33, 1976.]
12. Забелин С. Л., Фроловский В. Д. Разработка и исследование моделей, методов и алгоритмов для синтеза и анализа решений задач геометрического покрытия // Вестник СибГУТИ. 2013. № 2, С. 42-53. [S. L. Zabelin, V. D. Frolovsky, "Development and research of models, methods and algorithms for synthesis and the analysis of geometrical covering problems solutions," (in Russian), in Vestnik SibSUTI, no. 2, pp. 42-53, 2013.]
13. Хасанова (Дяминова) Э. И. Гильотинное размещение контейнеров в полосе: модификация уровневого алгоритма локального поиска // Принятие решений в условиях неопределенности: межвуз. науч. сб. Уфа: УГАТУ, 2009. Вып. 6. С. 155-161. [E. I. Hasanova (Dyaminova), "Guillotine placement of containers in a strip: modification of-level algorithm of local search," (in Russian), in Decision-making in the conditions of uncertainty, Vol. 6, pp. 155-161, 2009.]
14. Телицкий С. В., Валиахметова Ю. И., Хасанова Э. И. Гибридный алгоритм на основе последовательного уточне-
ния оценок для задач максимального ортогонального покрытия // Вестник Башкирского университета. 2012. Т. 17, № 1 (I). С. 421-425. [S. V. Telitsky, J. I. Valiakhmetova, E. I. Hasanova, "Hybrid algorithm on the basis of consecutive specification of estimates for the maximum orthogonal covering problems," (in Russian), in Vestnik of Bashkir University, Vol. 17, no. 1 (I), pp. 421-425, 2012.]
15. Mukhacheva E.A., Belov G.N., Kartak V.M., Mukha-cheva A.S. Linear one-dimensional cutting-packing problems: numerical experiments with sequential value correction method (SVC) and a modified branch-and-bound method (MBB) // Pesquisa Operacional. 2000. 20(2). P. 153-168. [E. A. Mukhacheva, G. N. Belov, V. M. Kartak, A. S. Filippova, "Linear one-dimensional cutting-packing problems: numerical experiments with sequential value correction method (SVC) and a modified branch-and-bound method (MBB)," in Pesquisa Operacional, no. 20(2), pp. 153-168, 2000.]
16. Мухачева Э. А. , Хасанова Э. И. Гильотинное размещение контейнеров в полосе: комбинирование эвристических технологий // Новые технологии. Информационные технологии. 2009. № 11. С. 8-14. [E. A. Mukhacheva, E. I. Hasanova, "Guillotine placement of containers in a strip: combination of heuristic technologies," (in Russian). Moscow: New Technologies. Information technologies, no. 11, pp. 8-14, 2009.]
ОБ АВТОРАХ
ФИЛИППОВА Анна Сергеевна, проф. каф. прикладной информатики инст. проф. образования и инф. технологий (БГПУ). Дипл. инженер-системотехник (УГАТУ, 1996). Д-р техн. наук по спец. «Мат. моделирование и численные методы и комплексы программ» (СГАУ, 2007). Иссл. в обл. методов оптимизации.
ВАЛИАХМЕТОВА Юлия Ильясовна, доц. каф. вычислительной математики и кибернетики. Дипл. инженер-программист (УГАТУ, 2004). Канд. техн. наук (УГАТУ, 2008). Иссл. в обл. оптимизационных задач размещения и маршрутизации. ДЯМИНОВА Элина Ильдаровна, доц. каф. экономической информатики. Дипл. экономист-математик (УГАТУ, 2007). Канд. техн. наук (УГАТУ, 2011). Иссл. в обл. оптимизационных задач размещения и раскроя.
METADATA
Title: Designing of geometrical placement algorithms on the basis of matrix and level technologies.
Authors: A. S. Filippova1, J. I. Valiakhmetova2, E. I. Hasanova3
Affiliation:
1 Bashkir State Pedagogical University named after M.Akmulla (BGPU), Russia.
2, 3 Ufa State Aviation Technical University (UGATU), Russia.
Email: 1annamuh@mail.ru, 2julikas@inbox.ru, 3xasel@mail.ru
Language: Russian.
Source: Vestnik UGATU (scientific journal of Ufa State Aviation Technical University), vol. 20, no. 4 (74), pp. 114-124, 2016. ISSN 2225-2789 (Online), ISSN 1992-6502 (Print).
Abstract: In article matrix and level technologies of designing of algorithms of the solution of tasks of geometrical placement are considered. The structure of matrix technology with examples of use for the solution of NP-difficult tasks of a geometrical covering, decomposition of the multicoher-ent orthogonal ground, a complex task of a geometrical covering and cutting is given. Efficiency of options matrix and level algorithm on the example of the solution of a two-criteria complex task of a geometrical covering and cutting is researched. Results of the solution of specially generated wasteless examples with single coverage ratios and cutting are given. Recommendations for the practical solution of a complex task of a geometrical covering and cutting are made.
Key words: multicoherent orthogonal ground, matrix technology, level technology, complex problem of a geometrical covering and cutting, waste-free tasks.
About authors:
FILIPPOVA, Anna Sergeevna, Prof., Dept. of Applied Informatics, Inst. of Professional Education and Informational Technologies (Bashkir State Pedagog. Univ.), Dipl. Systems Engineer (UGATU, 1996). Cand. of Techn. Sci. (Ufa State Univ., 1999). Dr. of Techn. Sci. (Samara State Aerospace Univ., 2007).
VALIAHMETOVA, Yulia Ilyasovna, Associate Prof., Dept. of Computational Mathematics and Cybernetics (UGATU), Dipl. Engineer-programmer, (UGATU, 2004). Cand. of Tech. Sci (UGATU, 2008).
DYAMINOVA, Elina Ildarovna, Associate Prof., Dept. of Economical Informatics (UGATU), Dipl. Economist-matemati-cian, (UGATU, 2007). Cand. of Tech. Sci (UGATU, 2011).