Метод покрытия прямоугольника конгруэнтными кругами с учётом дополнительных ограничений

СИСТЕМЫ И ПРОЦЕССЫ УПРАВЛЕНИЯ

УДК 514.753

МЕТОД ПОКРЫТИЯ ПРЯМОУГОЛЬНИКА КОНГРУЭНТНЫМИ КРУГАМИ С УЧЁТОМ ДОПОЛНИТЕЛЬНЫХ ОГРАНИЧЕНИЙ

ПАНКРАТОВ А.В., ПАЦУКВ.Н.,

РОМАНОВА ТЕ, ШЕХОВЦОВ С.Б.__________

Рассматривается задача покрытия прямоугольника конгруэнтными кругами с ограничениями на размещение покрывающих кругов. Предлагаются методы построения оптимальных покрытий в классе предложенных вариантов модифицированных решёток.

Введение

Задачи покрытия относятся к классу задач геометрического проектирования [1]. Модели и методы решения задач покрытия выпуклой области кругами в различных постановках рассмотрены, например, в [1-4]. В статье предлагается подход, учитывающий дополнительные условия размещения покрывающих кругов.

Многие научные и прикладные задачи имеют следующую постановку.

Существуют реальные объекты, которые имеют форму круга. Они обладают некоторым действием (или чувствительностью детектирования), которое распространяется на окружающую их область, имеющую во многих случаях круговую форму. Требуется, чтобы области действия реальных объектов покрывали некоторую территорию, т.е. каждая точка области находилась в сфере действия хотя бы одного объекта.

Целью настоящего исследования является разработка комбинированных методов решетчатого покрытия прямоугольной области конгруэнтными кругами, учитывающих ограничения на взаимное размещение кругов.

Постановка задачи

Пусть имеются: круг C радиуса r , прямоугольник P длины L и ширины H. Полагаем, что центр круга C совпадает с центром собственной системы координат, а начало O собственной системы координат прямоугольника р находится в левой нижней его вершине.

Задача. Построить покрытие прямоугольника P(0) минимальным числом m* кругов C(u;) таких, что

множество (C0(u;),iє Jm} , Jm = {1,2,...,m} , m> m* , образует укладку [1], где C0(ui) c C(ui) -

круги радиуса Го, Го < r, такие что frC и frC0 — концентрические окружности.

2

Здесь M(v) означает трансляцию множества M с R с центром в O на вектор v = (x, y).

Для описания условий укладки, C0(ui) с P и C0(ui)nC°(uj) = 0 , воспользуемся понятием ф -функции [2].

Условие принадлежности круга C0 (ui) области покрытия P(u0) определяется неравенством

0i

где Ф0i(u0,ui) — нормализованная ф -функция объекта P*(u0) = cl(R2 \P(u0)) и круга C0(ui),

Ф0i(u0 -(L/2,H/2),ui) =

= min{xi

Xi(x,y) = -x + A , x 2(x,y) = -y + B ,

Хз(х,у) = x + A , x4(x,y) = y + B ,

A = L/2-r0 , B = H/2-r0 .

В нашем случае u0 = (0,0) .

Условие взаимного непересечения кругов C0(ui) и C0(u j), i ф j, i є Jm , j є Jm , описывается неравенством

Фij

где Фij(ui,uj) — нормализованнаяф -функция кругов C0(ui) и C0(uj),

фij

Будем искать решение задачи построения покрытия прямоугольника P среди (двойных) решётчатых покрытий [3] и покрытий, близких к решётчатым в определённом далее смысле.

Двойная решётка будет определяться векторами ai, a2 , b , где ai, a2 линейно-независимы (рис. 1).

Рис. 1. Решётчатое покрытие

54

РИ, 2005, № 1

Общая схема построения таких покрытий состоит в следующем.

Формируем множество трансляций

Ti = {C(ao + jai),j = 0,1,k -1,

a1 = (a1x,0) = ^|a^|,0)}’ a0,a1 є r2. ^ ^

Здесь Ц-Ц — евклидова норма; k — число трансляций.

Пусть |a^| = 2ц, ц < r. Множество трансляций T1 образует некоторое покрытие прямоугольника U1 длины 2кц и ширины w = ^r2 -ц2 (рис. 2).

Рис. 2. Один ряд решётчатого покрытия

Выбираем ao , a1, к таким образом, чтобы U1 включал прямоугольник [0, L] х [0, w].

Определим пределы kmin, kmax изменения к. Пусть далее [-J — целая часть числа, L1 — длина покрываемого прямоугольника U1, L1 > L , L1 < L + 2(r - r0) .

*

Поскольку L1 > L , то kmin > kmin

0 <є <<r.

L + s 2r

+1, где

Из необходимости выполнения условия w > 2r0 ,

L1

т.е. yj > r0 (см.(3)) имеем kmin > kr

Из условия (3) получаем оценку для k: kr

4

2Jr2 - r,

0

2r0

Следует заметить, что при r0 << r и L > 3r0 можно

L + 2r0

получить оценку kmax Выбираем

= 2

yf3r

+ 3 .

kmin max(k

mjn mjn

) , kmax = mjn(k

kmax) и

max max

k є [kmin,kmax] П 3,3 = {1,2,...} .

Множество T1 (5) образует 1-й ряд покрытия (см. рис. 2).

Аналогично построим второй ряд покрытия

T2 = {C(a0 + b + ja1),j = 0,1,..,k' -1}

таким образом, что T2 покрывает прямоугольник U2 , причём k' = k или k' = k +1, intU1 Пint U2 =0 и T1 U T2 покрывает [0, L] х [0,2w + 8], 0 < S < r- r0 .

Заметим, что на этом этапе в общем случае условие (1) может не выполняться.

РИ, 2005, № 1

Построим T3 = T1(a2). Центры кругов ряда Tj обозначим Vjm = (xjm,yjm), m = 1,2,..., kj,

kj e{k, k'}. Каждый ряд Tj+1 формируется зеркальным отражением ряда Tj_1 относительно прямой, проходящей через центры кругов ряда Tj, і є {2,3,..., n-1} .

Таким образом, получаем двойную решётку с векторами a1, a2 , b=(xbyb), a2=(0,2yb)=V31-vu . Обозначим Cjj = C(dj + (j - 1)a1), где dj — вектор, определяющий положение центра круга Cj1 ряда Tj, dj =[(і — 1) / 2J a2 + a0 для нечётных j и dj =[(і-2)/2Ja2 + b+a0 для чётных j.

Будем исходить из вариантов решётчатого покрытия без учёта ограничений (1), (3). Для выполнения этих условий преобразуем затем полученные покрытия трансляциями кругов на границе прямоугольника по оси абсцисс.

Обозначим прямые

Р0 = {(х, y) I х = 0} , Pl = {(x,y)|x = L} .

Рассмотрим взаимное положение пары Cj0,Cj1 и прямой Р0 .

При этом выделим два случая:

1.1. Prlox (frCj1 nfrCj0) є [-r0,0], где Pr|ox (•) -проекция множества на ось x; обозначим такую ситуацию для пары (Tj, Р0) как ст^ = 0 , і є {1,2} .

1.2. Pr |ox dj є [—r0,0], обозначим такую ситуацию для пары (Tj,p0) как ст ^ = 1.

Аналогичным образом можно выделить два случая при рассмотрении взаимного положения пары Ci,kj,Ci,kj+1 и прямой Pl .

11.1. Prlox (frCjkj ПfrCjkj +1) Є [L,L + r0], обозначим такую ситуацию для пары (Tj, Pl) как стj2 = 0 .

11.2. Pr |ox (dj + kja1) є [L, L + r0], обозначим такую ситуацию для пары (Tj,Pl) как стj2 = 1.

Опишем рассматриваемые ситуации для рядов Ц, T2 четвёркой вида G = (ст11,ст12;ст21,ст22).

Пусть xл — абсцисса двоеточия frCj0 n frC j, если имеет место ситуация ст ^ = 0 , или абсцисса центра круга Cj1, если имеет место ситуация ст ^ = 1.

Аналогично xj2 — абсцисса двоеточия frCj,ki П frCj,ki+1, если имеет место ситуация стj2 = 0 , или абсцисса центра круга Cj,kj, если имеет место ситуация ст j2 = 1.

При этом x л, xj2 могут отличаться от значений x = 0 и x = L соответственно на величины, определяемые четвёркой:

Q = ^x2b ^22) =

= (x11,x12 _L, x21,x22 _L).

55

Для выполнения условия (1) круги Cj! , Cik. могут

подвергаться, кроме того, трансляциям по оси X на величины, описываемые четвёркой

D = (Л Хц, A Xj2, А Х21, Ах 22/ .

Таким образом, круги Cл , C;kj могут нарушать регулярность решётчатого покрытия.

Пусть рх. — прямая, проходящая через центры кругов ряда Т., рXi описывается уравнением y = 2w .

Обозначим g — расстояние между прямыми рX1 и Pxi (для всех типов покрытий, рассматриваемых ниже, g = r2 -ц2 ), h—расстояние между прямыми рх1 и Px2 (рис 2).

Число n рядов покрытия находится из условия

2g + (n-1)(g + h) = H), тогда n

H - 2g g + h

+1, где

функция [•] определяет минимальное целое, не меньшее её аргумента.

Если vn1 + r0 > H ,

то уменьшаем h в целях выполнения условия (1), что всегда возможно при r0 < r .

Будем строить покрытия пяти типов. Обозначим (kbk2) вариант покрытия, в котором k; число кругов ряда Т; , i = 1,2 , причем ki e{k} , k2 e{k, k +1} .

Предлагаемый подход состоит в следующем. Для каждого k из диапазона (6) и для каждого типа покрытия находим число N кругов, покрывающих прямоугольник P , а затем выбираем оптимальный вариант. Заметим, что для варианта (k, k):

m = kn; для варианта (k, k +1): m =

n(2k +1) 2

для

чётных n и m =-----------h k для нечётных n .

2

Метод 1.

Используется вариант (k, k +1). Абсциссы центров кругов ряда Т2 совпадают с абсциссами точек пересечения кругов ряда Т1.

Оптимальное (по критерию максимума площади покрытия) расположение кругов C01, Cn и C^ , C^k+1 ряда Т1 приводит к принадлежности точек пересечения соответствующих пар кругов сторонам ф = {0}х [0, H], 63 = {L}x [0, H] прямоугольника P

и, следовательно, для ряда Т2 нарушается условие (1). Для выполнения условия (1) рассматриваем

варианты регулярного покрытия ряда Т1 с абсциссами точек пересечения кругов -х и l + х , а круг C21 сдвигаем по оси х до Х21 = Г0 таким образом, чтобы

C11 п C21 = M0 є р0 .

Аналогично поступаем с C2k . Из условия (8) находим х.

Пусть х + Х0 = ц, Х0 — абсцисса центра круга Cn . Заметим, что при выборе х можно ограничиться допустимыми точками отрезка [0, Г0] (так как значение х = Г0 при Г0 << r даст допустимые решения, а значения х > Г0 приведут к увеличению функции цели). Заметим, что точка х = 0 недопустима при Г0 > 0 .

Найдём минимальное допустимое значение х є [0,r0] .

Система уравнений для определения х имеет вид:

2kp = L + 2х g = у[т

2 2 ц2

; + r = sjr2 -r02 +yjr2 + (p-х)2

Из (9) имеем

2 I L + 2х lr -I-----— I + r =

2k

=*ir2 - r02 +a h2-1^ -х

-Jr

Уравнение (10) можно решить аналитически или численно (в программной реализации применялось численное решение).

Для метода 1 (рис. 3) используются:

h = r, G = (0,0,1,1), Q = (—х, х, -х, х),

D = (0,0, х + r0, -х - fy) .

Рис. 3. Вариант построения покрытия методом 1 Метод 2.

Используется вариант (k, k). Положение кругов C11, C21 рядов Т1, Т2 аналогично их положению в методе 1, а положение кругов C2k, C^ аналогично положению кругов C3k , C2,k+1.

56

РИ, 2005, № 1

Построение решетки и определение смещения X аналогично методу 1. Первое равенство в системе

(9) заменяется на (2k - 1)ц = L + 2х .

Для метода 2 (рис. 4) используются:

h = r, G = (0,1, ОД), Q = (-х,х, -х,х),

D = (0, -х - Го, х + Г0,0) .

Рис. 6. Вариант построения покрытия методом 4 Метод 5.

Используется вариант (k, k). Первый ряд строим таким образом, чтобы последнее пересечение кругов совпадало с l , а первое сдвигалось на некоторую величину х (которую мы ниже оптимизируем) относительно 0 влево.

Рис. 4. Вариант построения покрытия методом 2

Метод 3.

Применяется вариант (k, k).

1. C11 П C(d1 - a1) є p0, абсцисса центра C21 равна r0.

2. C2k П C(d2 + (k + 1)a1) є pL .

Зависимость для ц и k имеет вид: (2k - 1)ц + Г0 = L . Для метода 3 (рис. 5) используются:

h =7r1 2 -r02 , G = (0,1,0,! , Q = (0,-r0,D,0,

D = ( 0,0,0,0 .

Рис. 5. Вариант построения покрытия методом 3 Метод 4.

Применяется вариант (k, k +1).

1. Положение Cn , C 21 такое же, как и в методе 3.

2. C2,k+1 П C(d2 + (k + 2)a1) є Pl . Абсцисса центра последнего круга ряда T2 равна L - r0 (отражаем последний круг относительно прямой х = l ).

Значение ц находим из формулы: 2k ц = L .

Для метода 4 (рис. 6) используются:

h =УІr2 -r02 , G = (0,0,1,! , Q = (0,0,Г0,Г0) ,

D = (0,0,0, -2r0 ) .

Чтобы удовлетворить условию (1), поворачиваем круг ряда T2 , абсцисса центра которого совпадает с абсциссой точки пересечения кругов Cn и C12 на угол у , таким образом, чтобы точка пересечения круга C11 и прямой Р0 (с большим значением ординаты) принадлежала frC21 (см. рис. 5).

Пусть х0 = ц - х — абсцисса центра круга Cn .

Высота x(n, х0) определяется следующим образом:

Х(п,х0) = (п++ (п-1)7^ -х02 .

Определим х0 = argminmax %(n, х0) при условии

n х0

X(n,x0) > н .

Получим х = Ц-х0 при условии Ц-х0 >r0 (следует из построения ряда T1).

Оценим пределы, в которых может находиться n . Максимальное n находим из покрытия, заданного следующими значениями (см. рис. 6): х = 0 , L = 2kц, 2g + (n - 1)(g + h) = H , где h = r0 ; т.е. считать для

этого n =

H - 2g g + h

+1 = [(H-2r')\(r'+ r0)] , здесь

h -r0, r' = -Jr2 -(2k)2 + r0.

Минимальное n из покрытия, заданного следующими значениями (рис. 7):

L -r0 = (2k - 1)ц, 2g + (n - 1)(g + h) = H , где h = g , 2g + 2g(n -1) = H , 2gn = H ,

Г H ] H\Jr2 (L r° 1

n = =

2g V 1 2k -1J

Для метода 5 (рис. 7) используются:

РИ, 2005, № 1

57

L + x - 2кц , h = r cos у = yj r2 - (p-x)2 >

G = (0,0,1,1), Q = (-x, 0,2p-rsiny, 0, D = (0,0,0,0 .

Рис. 7. Вариант построения покрытия методом 5

Например, для значений L = 2.5 , H = 3 , r = 1, Г0 = 0.3 метод 5 оптимален.

Из всех m , полученных методами 1—5, выбираем минимальное m *.

Выводы

Научная новизна. Предложены методы построения покрытий прямоугольника кругами, решётчатых, за исключением, возможно, границы области покрытия. Каждый из предложенных методов может давать оптимум при определённом наборе соотношений L , H , r , r0 . Оценка покрытия близка к теоретически оптимальной при L >> r, H >> r.

Практическая ценность. Предложен точный метод построения покрытий в классе предложенных вариантов модифицированных решёток, при этом учтены одновременно условия покрытия и размещения, что важно для практических приложений, например, при построении систем автоматической противопожарной защиты.

Сравнительный анализ. В работе [3] предложен альтернативный подход к решению аналогичной задачи, однако при этом не учитываются дополнительные условия на размещение покрывающих кругов.

УДК 519.859

РЕШЕНИЕ ЗАДАЧИ УПАКОВКИ КРУГОВ В ВЫПУКЛЫЙ МНОГОУГОЛЬНИК С ПОМОЩЬЮ МОДИФИЦИРОВАННОГО МЕТОДА СУЖАЮЩИХСЯ ОКРЕСТНОСТЕЙ

ЧУГАЙА.М._____________________________

Рассматривается задача оптимизации упаковки кругов одинакового радиуса в выпуклый многоугольник. Строится математическая модель и исследуются особенности задачи. Разрабатывается метод поиска оптимального решения задачи, который использует комбинацию модифицированного метода сужающихся окрестностей и метода возможных направлений. Описывается стратегия решения задачи. Детально рассматривается реализация модифицированного метода сужающихся окрестностей. Приводится численный пример.

Введение

Актуальность проводимого исследования связана, с одной стороны, с чрезвычайно широким спектром

Литература: 1. Стоян Ю. Г., Яковлев С. В. Математические модели и оптимизационные методы геометрического проектирования. К.: Наук. думка, 1986. 267 с. 2. Антошкин А.А., Панкратов А.В., Пацук В.Н., Романова Т.Е, Шеховцов С.Б. Задача покрытия прямоугольной области кругами заданного радиуса // Радиоэлектроника и информатика. 2001. № 3. С. 38 - 41. 3. Панкратов А.В., Пацук В.Н., Романова Т.Е, Антошкин А.А. Метод регулярного покрытия прямоугольной области кругами заданного радиуса // Радиоэлектроника и информатика. 2002. № 1. С. 50 - 52. 4. Стоян Ю.Г., Яковлев С.В. Оптимизация покрытий трансляциями ограниченных множеств// Докл. АН УССР. Сер.А, 1988. № 7.- С.20-23. 5. RogersC.X. Packings and Coverings. Cambridge: University Press, 1964. 6. СтоянЮ.Г. Об одном обобщении функции плотного размещения//Докл. АНУССР. Сер. A. 1980. №8. С. 70-74. 7. KuperbergG. Double-lattice packing of convex bodies in the plane/G.Kuperberg and W.Kuperberg/ /Discrete and Comp. Geometry. 1990. № 5. P. 389-397.

Поступила в редколлегию 27.08.2004

Рецензент: д-р физ.-мат. наук, проф. С.В. Яковлев

Панкратов Александр Владимирович, канд. техн. наук, научный сотрудник отдела математического моделирования и оптимального проектирования Института проблем машиностроения НАН Украины им. А.Н. Подгорного. Адрес: Украина, 61046, Харьков, ул. Пожарского, 2/10, тел. (0572) 95-95-36.

Пацук Владимир Николаевич, канд. техн. наук, старший научный сотрудник отдела математического моделирования и оптимального проектирования Института проблем машиностроения НАН Украины им. А.Н. Подгорного. Адрес: Украина, 61046, Харьков, ул. Пожарского, 2/10, тел. (0572) 95-95-36.

Романова Татьяна Евгеньевна, д-р техн. наук, старший научный сотрудник отдела математического моделирования и оптимального проектирования Института проблем машиностроения НАН Украины им. А.Н. Подгорного. Адрес: Украина, 61046, Харьков, ул. Пожарского, 2/10, тел. (0572) 95-95-36.

Шеховцов Сергей Борисович, канд. техн. наук, доцент кафедры прикладной математики Национального университета внутренних дел. Адрес: Украина, 61180, Харьков, пр. 50-летия СССР, 27, тел. (0572) 50-30-67.

применения задач оптимизационного геометрического проектирования, а с другой — с необходимостью разработки новых моделей и методов решения данного класса оптимизационных задач.

Задача упаковки кругов относится к классу задач оптимизационного геометрического проектирования. Математические модели и методы размещения кругов в прямоугольной полосе рассматривались в работах [1,2]. В [3] рассмотрен подход к поиску глобального экстремума задачи упаковки кругов равного радиуса в квадрате. Малоисследованными остаются задачи упаковки кругов одинакового радиуса в произвольные односвязные и многосвязные области. Данные задачи являются многоэкстремальными, что вызывает трудности при их математическом и компьютерном моделировании. Эти трудности, в частности, связаны с отсутствием приемлемых способов перебора многочисленных локальных экстремумов. В статье предлагается новый альтернативный подход к решению задачи упаковки кругов, основанный на направленном переборе локальных экстремумов, что позволяет находить лучшие приближения к глобальным экстремумам.

58

РИ, 2005, № 1