раздел МАТЕМАТИКА
УДК 519.854.2
ГИБРИДНЫЙ АЛГОРИТМ НА ОСНОВЕ ПОСЛЕДОВАТЕЛЬНОГО УТОЧНЕНИЯ ОЦЕНОК ДЛЯ ЗАДАЧ МАКСИМАЛЬНОГО ОРТОГОНАЛЬНОГО ПОКРЫТИЯ
© Ю. И. Валиахметова1*, С. В. Телицкий2, Э. И. Хасанова2
1Башкирский государственный аграрный университет Россия, Республика Башкортостан, 450001 г. Уфа, 50-летия Октября, 34.
2Уфимский государственный авиационный технический университет
Россия, Республика Башкортостан, 450000 г. Уфа, ул. К. Маркса, 12.
E-mail: julikas @ inbox. ru
Предложен гибридный алгоритм на основе метода последовательного уточнения оценок для комплексного решения задачи геометрического покрытия ортогонального многоугольника с препятствиями прямоугольными заготовками с неопределенными размерами. Рассмотрена декомпозиция исходной задачи на две составляющие: построение плана покрытия и плана раскроя.
Описаны методы решения.
Ключевые слова: задача геометрического гоугольник, полигон с препятствиями.
Введение
В различных областях жизнедеятельности возникают ситуации, когда необходимо покрыть заданную геометрическую область, возможно, с препятствиями, объектами меньшего размера. Задача покрытия является частным случаем NP-трудного класса задач «раскроя и упаковки» [1]. Сложность подобных задач экспоненциально увеличивается с увеличением размерности [2]. Задачи геометрического покрытия встречаются при проектировании и размещении систем воздушного и космического наблюдения, систем безопасности, в агротехнических системах.
Задача покрытия ортогонального полигона минимальным количеством прямоугольников получила название Irreducible Covering Problem.
Y. Cheng, S. S. Iyegnar и R. L. Kashyap показали, что эта задача имеет практическое применение в процессе сжатия изображений, в печати интегральных схем [3] и др. Впервые W. J. Masek доказал, что задача является NP-полной [4]. Качество решения оценивается фактором аппроксимации. Фактор аппроксимации для этой задачи представляет собой отношение количества прямоугольников в решении алгоритма к количеству прямоугольников в оптимальном решении. Фактор аппроксимации задачи покрытия полигона - O(log n), где n - это число вертикальных или горизонтальные ребер много -угольника, стал известен благодаря D. S. Johnson и L. Lovasz, использовавшим жадную схему [5]. Таким образом, этот фактор аппроксимации считался лучшим до настоящего времени. D. S. Franzblau ввел дополнительные ограничения [б]. Если многоугольник M не имеет отверстий, то фактор аппроксимации равен 2. Если M вертикально выпуклый, то точное решение можно найти алгоритмом полиномиальной сложности. В обоих случаях существование отверстий невозможно. J. Gudmundsson и C. Levcopoulos описывают алгоритм решения зада-
покрытия, задача раскроя, ортогональный мно-
чи покрытия прямоугольниками, работающий за время O(n log n) [7-8].
В данной статье рассматривается проблема, встречающаяся в строительной индустрии. Это задача покрытия заданной геометрической области материалом, размеры которого (или один из размеров) меньше размеров (или одного из размеров) покрываемых областей - покрытие полов линолеумом, ДВП и другими материалами. Допускается покрытие областей отдельными кусками материала (заготовками), но накладывается ограничение на максимально допустимое количество заготовок, покрывающих область. В этом случае требуется найти план покрытия многосвязных ортогональных областей прямоугольными заготовками, нарезаемыми из исходного материала, минимизирующий суммарный расход материала. Основные трудности при решении этой задачи связаны с неопределенностью размеров и многокритериальностью общей постановки задачи. При использовании (разрезании) материала на прямоугольные заготовки остаются куски материала, которые приобретают статут «деловых отходов». Здесь рассматривается вариант покрытия заданной геометрической области имеющимися прямоугольными предметами - «деловыми отходами». Предлагается поиск рационального решения в два этапа: решение задачи декомпозиции полигона на прямоугольные области и размещение прямоугольных предметов в полученных областях. Для решения подобных NP-трудных задач актуальной является разработка новых подходов с использованием быстрых эвристических и метаэвристических алгоритмов.
Постановка задачи декомпозиции свободной области многосвязного ортогонального полигона на прямоугольные участки Имеется многосвязный ортогональный полигон (МОП). Опишем вокруг него прямоугольник (рис. 1).
* автор, ответственный за переписку
0-
х
Рис. 1. Пример многосвязного ортогонального полигона с препятствиями.
Образовавшиеся при этом многоугольные области этого прямоугольника, не принадлежащие полигону, представим как виртуальные препятствия. Далее разделим многоугольные препятствия сквозными линиями так, чтобы они разбились на прямоугольники. Таким образом, исходная задача сводится к следующей: дана прямоугольная область ширины ¥ и длины 0, а также набор прямоугольных препятствий заданных размеров юу, А.у, V = 1, Ц, где Ц - количество препятствий,
Юу, - линейные размеры V -го препятствия или
его прямоугольной части. Введем прямоугольную систему координат: оси Ох и Оу совпадают соответственно с нижней и боковой сторонами области. Положение каждого прямоугольного препятствия В задается координатами ^) его нижнего
левого угла. Таким образом, многосвязный ортогональный полигон можно представить вектором исходных данных:
(¥, 0,^,^),(^,Ч),V = 1,Ц .
Требуется найти множество
П = {Пі, п 2,..., п т } прямоугольных боксов П . = ^( Хі, Уі), (W^, Ьі)} минимальной мощности, где (Х( , У.) - координаты нижнего левого угла і-го
прямоугольника, и Ьі - его линейные размеры, т - искомая мощность множества П, удовлетворяющие следующим условиям:
1. Ребра боксов параллельны ребрам области:
(рХ=ь ) л (р1у = ), і=1т, где рх, ру - проекции
прямоугольника Пі на оси координат Ох и Оу.
2. Взаимное неперекрытие боксов:
V.Ф ]: і,і = 1,т,
((Х. > Хі + Ьі ) V (Хі > Х. + Ц)) V
V ((Уг > Уі + Wi) V (Уі > Уі + Wi))
3. Неперекрытие боксов с гранями области: VI = 1, т,
(Хі > 0) л (Уі > 0) л л(Уі + Wi <¥)л(Хі + Ц <0).
4. Неперекрытие боксов с препятствиями:
VI, V: і = 1, т; V = 1, Ц,
((Хі >Zv+Аv) V (XV > Хі + Ц)) V .
V ((у. > п, + Ю,) V (п > Уі + Wi))
5. Прямоугольные боксы должны покрывать всю свободную область многосвязного ортогональ-
т Ц
ного полигона: = ¥0 - І.
і=1 v=1
Постановка задачи максимального ортогонального покрытия прямоугольной области
Задачи ортогонального максимального покрытия являются разновидностью задач упаковки, в которых отсутствуют условия непересечения элементов друг с другом и с границами объектов. На рис. 2 а - допустимое покрытие, Ь, с - недопустимое покрытие.
Пусть имеется т прямоугольных боксов заданной ширины ^ и длины Ц , и набор из п прямоугольных предметов заданных размеров
(щк,1к), к = 1,...,п, где щ - ширина, ік - длина стороны. Введем прямоугольную систему координат: оси Ох и Оу совпадают соответственно с нижней и боковой сторонами бокса. Положение каждого прямоугольника Р^ зададим координатами
(хк,Ук) его левого нижнего угла. Требуется найти максимальное количество полностью покрытых
боксов. При этом любая точка бокса принадлежит одному или нескольким прямоугольникам покрывающим бокс. Для любой точки (х,у) найдется
прямоугольник Р(хк,ук), к = 1,п, у которого
хк < х < хк+1к и Ук < У < Ук + Щ .
а Ь с
Рис. 2. Ортогональное покрытие области прямоугольниками: а - допустимое покрытие, Ь, с - недопустимое покрытие.
Если общее число покрытых боксов N достигает максимума, то найден план оптимального покрытия.
Г ибридный алгоритм решения комплексной задачи
Для решения исходной комплексной задачи на первом этапе используется метод декомпозиции свободной области МОП на прямоугольные участки [9], а затем к каждому прямоугольнику, полученному на первом этапе, применяется модификация метода последовательного уточнения оценок SVC (Sequentative Value Correction).
Метод декомпозиции свободной области МОП состоит из следующих этапов:
1. Представление области с препятствиями в матричном виде. Через все грани препятствий проведем сквозные линии. В результате область с препятствиями оказывается покрытой сетью, каждая ячейка которой либо не содержат препятствий (пустая), либо является препятствием или частью препятствия (т.е. нет ячеек, в которых одновременно было бы и препятствие, и пустое место).
2. Объединение пустых ячеек. Смежные пустые ячейки объединяются в прямоугольники. Можно выделить 3 направления объединения: вертикальное - если объединяются несколько ячеек одного столбца, горизонтальное - если объединяются ячеек одной строки, диагональное - если объединяются ячейки нескольких смежных строк и столбцов.
В зависимости от параметров препятствий и их расположения результат объединения ячеек неоднозначен. Можно использовать разнообразные критерии выбора направления объединения, в частности можно применить мультиметодную технологию [10].
3. «Уровневое» выделение пустых прямоугольных областей. Пусть в ходе предыдущих шагов было выделено несколько прямоугольных областей без препятствий и достигнута верхняя граница области с препятствиями. Через правую границу области наибольшей длины проводят условный сквозной рез и продолжают выделение областей без препятствий из области справа от реза. Тогда, по аналогии с уровневой технологией, предложенной Martello и Vigo [11], исходная область с препятствиями окажется разделенной на прямоугольные уровни.
При выделении прямоугольников без препятствий в уровнях остаются «боковые пустоты», которые целесообразно использовать - так называемые вторичные МОП. Для них рекурсивно применяется метод матричной декомпозиции свободной области МОП на прямоугольники. Работа алгоритма продолжается до тех пор, пока не останется пустых ячеек.
Модификация метода последовательного уточнения оценок. Метод последовательного уточнения оценок SVC относится к многопроходным эвристикам и базируется на идее объективно-
обусловленных оценок Л. В. Канторовича [12]. Объективно-обусловленные оценки имеют смысл подетальных норм расхода (использования) материала (области) в оптимальном плане. Метод SVC реализуется по модифицированной схеме FFD (First Fit Decreasing) с процедурами приоритета и повторения. Упорядочивание элементов основано на экономическом смысле двойственных переменных в линейном программировании. В допустимом плане, например линейного непрерывного раскроя в качестве оценок принимают двойственные переменные, с помощью которых проверяется оптимальность плана, и, в противном случае, намечается путь его улучшения. В целочисленном случае имеется разрыв двойственности и непосредственное применение линейного программирования и объективно-обусловленных оценок становится невозможным. Мы используем только идею пересчета оценок с целью улучшения плана покрытия. Метод можно назвать общим для решения задач ортогонального раскроя. Он применяется в случаях линейного и гильотинного раскроя-упаковки, 2-х и 3-х мерной упаковки, а также и для решения задач нестинга (размещение геометрических объектов сложных форм).
Для решения комплексной задачи покрытия предлагается использовать модификацию метода SVC на этапе покрытия прямоугольных областей малыми прямоугольными предметами, которая является задачей максимального ортогонального покрытия прямоугольной области.
Модификация схемы FFD для задачи ортогонального покрытия прямоугольной области состоит в следующем. Пусть известен приоритетный список (Priority List, PL), в котором каким-то образом упорядочены заготовки. Определяют верхнюю границу максимально возможного количества полностью
покрытых боксов Nf =
Ґ n ^ / m
m Е wklk EWiLi
V k=1 / i=1 _
. На
первом боксе определяют левую нижнюю непокрытую точку, которую принимают за левую нижнюю координату первого размещаемого прямоугольника из приоритетного списка. Второй прямоугольник из PL размещают в левую нижнюю позицию второго бокса, и т.д. до бокса с номером И?. Далее возврат на первый бокс и определение левой нижней координаты непокрытой части бокса, куда помещают прямоугольник из PL с номером И? +1, и т. д. Если приоритетный список пуст, т.е. все имеющиеся прямоугольника использованы и имеется не полностью покрытый бокс с номером N0, то прямоугольники, размещенные на нем, снова помещаются в PL, который используется по той же схеме FFD, начиная с первого не полностью покрытого бокса. Если очередной PL = 0, анализируется бокс с номером N0 -1. Если он не полностью покрыт, то поступают аналогично. Если предпоследний бокс текущего размещения полностью покрыт, то конец.
На начальном этапе многопроходного метода 8УС формируется PL по убыванию оценок, имеющих смысл площадей прямоугольников:
Ук = , к = 1,п.
Первый план покрытия (допустимое решение) получают с помощью метода FFD. Соответствующее значение целевой функции Иг принимается в
качестве рекорда (нижней границы). На каждом следующем шаге t производят уточнения оценок по следующему правилу:
Ук := У к-\, к = 1П,
где к, - номера прямоугольников, входящих в бокс
____ 2
П,-, I = 1, т, и у' = -------.
к Щ1,
Формируют новый PL^. И повторяя схему FFD. Сравнивают полученное значение полностью покрытых боксов и' с рекордом Иг, и полагают
Иг := тах{И', Иг}, запоминая соответствующий
план покрытия. Оценки и PL исправляются после построения каждого очередного плана покрытия. Процесс заканчивается на последнем шаге некоторого этапа ' в случае, если значение целевой функции N х = N0, или по числу итераций 'тах.
Следует отметить особенность метода: за первые несколько итераций происходит основное улучшение решения. А улучшение значения целевой функции на последнюю единицу может потребовать несколько десятков итераций.
Работа, выполнена при поддержке Российского фонда фундаментальных исследований, проект 12-07-00631-а
ЛИТЕРАТУРА
1. Канторович Л. В., Залгаллер В. А. Рациональный раскрой промышленных материалов. СПб.: Невский Диалект, 2012. 304 с.
2. Фроловский В. Д. Приближенные методы решения NP-трудных задач в системах автоматизации проектирования. Новосибирск: НГТУ 2006. 100 с.
3. Cheng Y, Iyegnar S. S., Kashyap R. L. A new method for image compression using irreducible covers of maximal rectangles. / IEEE transactions on software engineering. V. 14. №5. 1988. P. 651-658.
4. Masek W. J. Some NP-complete set covering problems / Manuscript. MIT, 1977.
5. Johnson D. S. Approximation algorithms for combinatorial problems / Journal of omputing and systems sciences. №9. 1974. P. 256-278.
6. Franzblau D. S., Kleitman D. J. An algorithm for constructing regions with rectangles. / Information and control. №63. 1984. P. 164-189.
7. Gudmundsson J., Levcopoulos C. Close approximations of
minimum rectangular coverings / FST&TcS’96. LNCS. V.
1180. 1996. P. 135-146.
8. Gudmundsson J., Levcopoulos C. Lower bounds for approximate polygon decomposition and minimum gap. / Information Processing Letters. V.81. Issue 3. 2002. P. 137-141.
9. Мухачева Э. А., Валиахметова Ю. И., Хасанова Э. И.,
Телицкий С. В. Проектирование размещения ортогональ-
ных объектов на полигонах с препятствиями / Информационные технологии. 2010. №10. С. 16-22.
10. Валиахметова Ю. И. Мультиметодная технология моделирования ортогональной упаковки / Saarbrucken, Germany: LAP LAMBERT Academic Publishing GmbH & Co. KG, 2011. 176 с.
11. Martello S., Vigo D. Exact solution of two-dimensional finite bin packing problem // Management Science. 1997. V. 35. p. 64-68.
12. Mukhacheva E. A. and Zalgaller V. A. Linear Progamming Cutting Problems. In: International Journal of Software Engineering and Knowledge Engineering, 1993. V. 3. №4. P. 463-476.
Поступила в редакцию 03.04.2012 г.