Известия Института математики и информатики УдГУ
2018. Том 52
УДК 514.174.2
© П. Д. Лебедев, Н. Г. Лавров
АЛГОРИТМЫ ПОСТРОЕНИЯ ОПТИМАЛЬНЫХ УПАКОВОК ШАРОВ В ЭЛЛИПСОИДЫ
В статье рассматривается задача о построении упаковки из набора конгруэнтных шаров в замкнутые выпуклые множества. В качестве формы контейнеров для упаковки выбраны эллипсоиды. В одном случае считается фиксированным число элементов упаковки, а критерием оптимизации выбрана максимизация радиусов элементов упаковки. В другом случае фиксирован радиус шаров и ставится задача об отыскании упаковки с наибольшим числом элементов. Предложены итерационные алгоритмы построения оптимальных упаковок, основанные на имитации отталкивания их центров друг от друга и от границы контейнера. Развиты алгоритмы построения упаковок на базе наиболее плотной упаковки трехмерного пространства, представляющей собой решетки различного типа и их комбинации. Выполнено моделирование решения ряда задач и визуализация результатов.
Ключевые слова: упаковка, чебышёвский центр, супердифференциал, итерационный алгоритм, гранецентриро-ванная кубическая решетка.
Б01: 10.20537/2226-3594-2018-52-05 Введение
Задачи о построении упаковок из конгруэнтных шаров в трехмерном пространстве имеют давнюю историю [1]. Например, в книге Ф. Тота [2] предложены структуры, обеспечивающие наибольшую плотность упаковки шаров во всем пространстве, без ограничений. Но для каждого ограниченного множества требуется находить упаковки численными методами, учитывающими геометрию его границы. В рамках статьи авторы ограничились рассмотрением в качестве контейнеров для упаковок эллипсоиды, поскольку эти тела часто применяются в теории управления [3] для аппроксимации множеств достижимости и управляемости [4]. В то же время они могут иметь более сложную геометрию границы (по сути, поверхность второго порядка) по сравнению с изучаемыми ранее авторами выпуклыми многогранниками [5]. Возможными сферами применения разрабатываемых алгоритмов могут стать также решение задачи о наилучшем раскрое материала (как из заданного объема материала получить наибольшее число изделий заданной формы и размера) [6] и решение экономических задач о расположении логистических или торговых центров (чтобы их зоны обслуживания не пересекались) [7].
§ 1. Постановка задачи
В рамках статьи рассматриваем выпуклые компакты М в трехмерном евклидовом пространстве М3.
Определение 1.1. Назовем упаковкой ип множества М набор из п шаров В ^, г), для которого выполняются условия
Уг=Т~п 5(в*,г)СМ, (1.1)
\/г = 1,п - 1, V? = г + 1,п ЫВ(виг) ПпйБ^г) = 0. (1.2)
Здесь ш^-) означает внутренность множества, В (в, г) — шар с центром в точке 8 радиусом г. Условие (1.1) означает, что все шары вложены в компакт М, а условие (1.2) — что они попарно пересекаются только по точкам своей границы (либо вообще не пересекаются).
Задача 1.1. Пусть заданы число п € N и выпуклое компактное множество М С М3. Требуется найти упаковку Ц* множества М, радиус г* шаров в которой был бы максимально возможным.
Обозначим массив точек, служащих центрами элементов упаковки Бп. В случае если число элементов больше одного, можно записать формулу для максимального радиуса шаров упаковки множества М:
Р fsi,SÜ))
Rm(Su) = min min { -J-,p(Si,dM) V, (1.3)
i=1,n
здесь введены обозначения: S(i) = (Sn \ {si}) — множество всех центров шаров, за исключением Si, p(a, M) — расстояние от точки a до замкнутого множества М, дМ — граница множества М.
Естественно ввести функцию, показывающую для координат элемента массива Sn с заданным номером, с каким максимальным радиусом шар может быть расположен с центром в данной точке, не пересекаясь с шарами с тем же радиусом с центрами в остальных точках из Sn и не выходя за пределы компакта М. Обозначим набор этих функций для каждого номера i как
<р®(х) = min j^p(x,sW),p(x,9M)j, i = Т~п, (1.4)
Решение задачи 1.1 можно свести к максимизации функции (1.3), которую с помощью функций (1.4) запишем в виде
RM(Sn) = min (1.5)
i=l,n
Наряду с задачей 1.1 рассмотрим двойственную к ней.
Задача 1.2. Пусть задано число r € (0, и выпуклое компактное множество М С R3. Требуется найти упаковку Un множества М, состоящую из шаров радиусом r при максимально возможном n € N.
Заметим, что задача 1.2 в общем случае может вообще не иметь решения, если во множество М не может быть вложен ни один шар радиусом r. Однако данная задача чаще возникает при практических вычислениях, особенно в технических системах.
§ 2. Итерационные методы решения задачи (1.1)
2.1. Свойства функций (1.4)
Задачу об изменении координат точек массива Sn с целью максимизации радиуса шаров Rm(Sn) естественно свести к пошаговой процедуре коррекции координат каждой точки Si, г = 1 ,п, обеспечивающей увеличение значение функции ip^(ßi).
О п р е д е л е н и е 2.1 ([8, с. 37-38]). Супердифференциалом функции u(x) с областью определения X С Rm в точке x называется выпуклое компактное множество D+u(x) в Rm, для которого выполняется равенство
D+u(x) = {s € R2 : (s, f) - d+u(x, f) ^ 0 Vf € Rm},
где
d+u(x, f) 4 lim sup{S-1[u(x + Sf') - u(x)]: 5 € (0,e), llf - f'|l}.
£^0,£>0
Здесь (■, ■) означает скалярное произведение векторов.
Знание супердифференциала функции в точке позволяет вычислять значение производной по направлению. Производная функции по направлению g = 0 4 (0, 0, 0) в точке x0,
du(x) А ц(хо + gg) - ц(хо)
dg
X=XQ £^0,£>0
находится (если определен супердифференциал D+u(x0)) по формуле
du(x)
dg
= min{(g, d): d € D+u(x0)}. (2.1)
X=XQ
e
Заметим, что если множество ^+и(х) состоит ровно из одной точки, то она совпадает с градиентом функции и(х) (то есть функция является дифференцируемой).
Определение 2.2. Множеством значимых точек П(х, £(г), М) для функции (■) в точке х € М (при заданных £(г) и М) назовем
П(х,5« ,М) й ((£« П В(х, 2^« (х))) и (дМ П В(х, (х))
По сути, есть объединение точек центров тех шаров упаковки, с которыми
пересекается шар с максимально возможным радиусом с центром в x, и тех точек границы множества M, которые принадлежат этому шару. По построению при x € M оно всегда содержит минимум одну точку.
Далеко не любая функция является супердифференцируемой, тем более на всей области определения. Однако в [9, с. 244] показано, что для функции u(x) = p(x, M) евклидового расстояния до замкнутого множества в любом конечномерном евклидовом пространстве Rm в любой точке x € Rm \ M супердифференциал определен и вычисляется по формуле
V u(x) J
где co(M) — выпуклая оболочка множества M. В работах [10, 11] показано на базе формулы (2.2), что во всех точках M, за исключением dM и S(i), для функции ^(i)(x) супердифференциал определен и равен
(x) = co
($(x,S« ,M)), (2.3)
где
ф/ 3(г) м)а( {x}-(^)nQ(x,^),M))\ у / {х} — (М П Q(x, Sn \ М)) \
1 ' п ' ' ^ J ^ <£>« )'
Возникает потребность указать существование направления, вдоль которого функция ^>(г) (x) возрастает в некоторой окрестности точки xo (если это направление существует). Для этого введем ряд геометрических конструкций.
Определение 2.3. Чебышёвским центром [12] множества M С R3 называется такая точка c(M), что
sup ||m — c(M)|| = inf sup ||m — x||. (2.4)
meM xeR3 meM
Свойства чебышёвского центра изучены А. Л. Гаркави [12,13], им показано, что он единственный и принадлежит выпуклой оболочке множества M.
Определение 2.4. Центральной проекцией компакта M на сферу dB (0, r) с положительным радиусом r назовем множество
2r(M) = {b € dB(0, r): (3m € M, ЗА € (0, : b = Am)}. (2.5)
Определение 2.5. Назовем компакты Mi и M2 ^-эквивалентными, если выполняются условия
Vmi € Mi (3m2 € M2, З7 € (0, +rc>): mi = 7m2), (2.6)
Vm2 € M2 (3mi € Mi, З7 € (0, +rc>): m2 = 7mi). (2.7)
Отношение ^-эквивалентности является симметричным и транзитивным. Оно означает, что множества в некотором смысле похоже выглядят, если смотреть на них из начала координат.
Лемма 2.1. Пусть компактные множества М1 и М2 <р-эквивалентны. Тогда включение
0 € М1 (2.8)
выполняется в том и только в том случае, если
0 € М2. (2.9)
Доказательство. Покажем, что из (2.8) следует (2.9). Обратное утверждение доказывается аналогично.
Включение (2.8) означает, что существуют набор {vj}к= С М1 из конечного числа к век-
I к
торов и набор {aj }j=1 чисел такие, что
k
0 = Е ajVj, (2.10)
j=1
j
j j=1
= ljc aj ^ 0.
То есть 0 является выпуклой линейной комбинацией векторов Vj, j = 1 ,к.
Из (2.6) следует, что существует набор {wj}j=i С М2 из конечного числа k векторов, для которого выполняется
Vj = 1 ,к € (0, +оо)^ : vj = Wj/7j. Значит, можно записать (2.10) в виде
j
0 = Y1 aj wj / Yj • j=1
Разделив обе части этого равенства на j=i aj/Yj, получаем, что вектор 0 есть выпуклая линейная комбинация векторов wj, j = 1,к, а значит, выполняется включение (2.9). □
Лемма 2.2. Пусть компактные множества М1 и М2 ^-эквивалентны. Тогда для любого вектора g € R3 неравенство
min (g, m1) > 0 (2.11)
mi€Mi
выполняется в том и только в том случае, если
min (g, m2) > 0. (2.12)
m2€M2
Доказательство. Покажем, что из (2.11) следует (2.12). Обратное утверждение доказывается аналогично.
Допустим, что (2.11) выполняется, а (2.12) не выполняется для некоторого вектора g € R3. Тогда найдется вектор m2 € М2 такой, что
(g, m2) >= -Y* < 0.
Из (2.7) вытекает, что найдется вектор m1 € М1, равный m1 = m2/Y, Y > 0. Для него имеет место
(g, m1) >= (g, m2/Y) >= -Y*/Y ^ 0. Получилось противоречие с оценкой (2.11). □
(г)
Теорема 2.1. Пусть заданы компакт М и массив точек Бп С М. Тогда если для некоторой точки хо € М выполняется условие
х € со (О(хо, БП, М)), (2.13)
то вектор
ё = с(21(Ф(х,БПг), М)))
таков, что
ё = 0 (2.14)
и
(х)
¿ё
х=хо
> 0. (2.15)
Доказательство. По условиям теоремы хо € ^(хо, БПг), М), а значит, в ней определен супердифференциал функции ^>(г) (х) по формуле (2.3). Покажем, что для него имеет место
шт{(ё, а): а € (хо)} > 0. (2.16)
Рассмотрим множество {хо} - 0(хо,БПг),М). Из (2.13) следует, что в его выпуклой оболочке не содержится начало координат. При этом по построению это множество ^-эквивалентно Ф(х, БПг), М) (каждый вектор из Ф(х, БПг), М) есть вектор из {хо} — 0(хо,БПг),М), умноженный на ^>(г)(хо)-1 или на (4^>(г)(хо))-1; каждый вектор из {хо} — 0(хо,БПг),М) есть вектор из Ф(х,БП°,М), умноженный на ^>(г)(хо) или на 4^>(г)(хо). Аналогично: по построению множества Ф(х, БППг ,М) и 21(Ф(х, бП , М)) ^-эквивалентны. Значит, из (2.13) по лемме 2.1 следует, что
0 / соФ(х,БП°,М),
0 € со (21(Ф(х,Б«, М))). (2.17)
Поскольку чебышёвский центр множества не может лежать вне его выпуклой оболочки, то из (2.17) следует неравенство (2.14).
В то же время, поскольку центр единственный, а норма всех векторов из 51(Ф(х, БПг), М)) равна 1, выполняется
Уу €21(Ф(х,БПг),М)) ||у — с(^1(Ф(х,БПг),М)))|| < ||у — 0|| = ||у|| = 1.
Значит, для каждой точки у € 51(Ф(х, БПг), М)) можно провести плоскость Г, ортогональную у, находящуюся от нее на расстоянии ||у — ё|| < 1 и на расстоянии 1о = 1 — ||у — ё|| > 0, делящую М3 на два полупространства Ло и Л1. При этом векторы у и ё находятся в П1, а начало координат — в По. Поскольку для любого вектора из Щ, в том числе и д, выполняется (ё,у) ^ 1о||ё||, то
ш1п{(ё, Ь): 21(Ф(х,Б«, М))} > 0.
Раз множества 21(Ф(х, Б(г), М)) и Ф(х, Б(г), М) ^-эквивалентны, то по лемме 2.2
ш1п{(ё, Ь): Ф(х,Б(° ,М)} > 0.
Поскольку по формуле (2.3) супердифференциал (хо) есть выпуклая оболочка множе-
ства Ф(х, Б(г) ,М), то любая точка а € ^+^>(г)(хо) может быть представлена как линейная выпуклая комбинация векторов из Ф(х,Б(г) ,М), а значит, выполняется оценка (2.16). Из нее по формуле (2.1) получаем (2.15). □
Теорема 2.1 позволяет указать направление, в котором функция ^>(г) (х) возрастает в окрестности заданной точки. Это значит, что сдвиг в данном направлении можно использовать, чтобы получить координаты новой точки х1 , в которой значение функции больше. То есть можно разместить шар с большим радиусом с центром в х1.
2.2. Алгоритм максимизации радиуса шаров упаковки
Авторы применяют итерационные методы максимизации значения функции Км(£«.), близкие к описанным в работах [14,15]. Основным их элементом являются построения для каждой точки € Бп вектора сдвига, переводящую ее в новую, но достаточно близкую точку ¡з^, такую, что (¡8г) > ^). Из новых точек строится обновленный массив, а затем проверяется, насколько он лучше исходного.
Введем ряд дополнительных конструкций.
Будем обозначать
Пм(х) й дМ П [В (х, р(х, дМ)) и Ьх(х) и Ьу(х) и Ь*(х)],
где
Ьх(х) й {у € М3 : у = х + А!} , 1 й (1, 0, 0),
Ьу(х) й{у € М3 : у = х + АЛ , j й (0,1, 0),
Ь(х) й {у € М3 : у = х + Ак} , к й (0, 0,1).
Определение 2.6. Пусть заданы компакт М и массив точек £га. Для точки х € М, для которой выполняется (х), назовем вектором оптимального сдвига с номером г:
(i)(x) 4 с (Ф1(хс, S«, M) U Ф2(хс, S«, M)
(2.18)
где
Ф1 (хо, S(i), M) 4
х — s,
х — s,
г*(хо^«,М) -
х s,
: s, €
Ф2(хо,£(j),M) 4
X - р
IIх - р|
S(j) n В(х, 2г*(хо, S(j) ,M))
(2.19)
(>(хо,5«,М) -Ух - p||) : p € (Пм (х) П B (х, г*(хо, S(i), M)))
(2.20)
г*(хо, S(j),M) = min{£ € [0, +то): х € co (s(j) n В(х, 2e)) U (Пм(х) П В(х,£)) }. (2.21)
По сути, множество Пм(х) есть объединение ближайших к х точек dM и пересечения прямых, проходящих через х параллельно осям координат, с dM. По построению х € co(dM), а выражение (2.21) всегда будет определено. Значит, будет определено и значение вектора (2.18).
Координаты новой точки Sj в рамках предложенного подхода могут вычисляться по формуле
sj = Si + kz z(i)(si), (2.22)
где значение параметра kz € (0,1] задается в программном комплексе. При этом важно выполнить проверку условий sj € int M и Sj € S(i). Если они не выполняются, то необходимо повторно пересчитать значение выражения (2.22), взяв меньшее значение kz.
Замечание 1. Многократное улучшение свойств упаковки путем сдвига ее центров в направлении вектора (2.18), вычисленного для каждого из них, близко по идеологии к алгоритму Любачевско-го-Стилинжера [16], который имитирует процесс механического сжатия набора твердых частиц. При этом построение множества (2.19) соответствует учету сил механического отталкивания от соседних элементов упаковки, а множества (2.20) — от границы контейнера M. Однако принципиально новым моментом является то, что векторы в формуле (2.18) не складываются, а находится их чебышёвский центр. При этом наибольшую норму имеют векторы, направленные к точке sj по направлению от ближайших к ней соседних шаров упаковки и от ближайших точек на границе компакта M .
Отдельной важной процедурой, необходимой для реализации алгоритма, служит генерация начального массива S° центров шаров. Основным его компонентом является построение решетки, узлы которой служат ориентирами для построения точек S°. Затем выбирается случайным образом нужное число узлов, из тех, которые находятся внутри множества M, и к координатам каждой из них прибавляется случайная величина, достаточно малая, чтобы точки не вышли за пределы компакта M.
z
§ 3. Решение задачи (1.2) на базе заданных пространственных правильных ячеек
Одним из вариантов решения задачи оптимальной упаковки на плоскости является подход, основанный на применении в качестве базовой структуры правильной плотной гексагональной упаковки шаров, решетка которой образует правильный шестиугольник. В пространственном случае роль правильного шестиугольника играют различные многогранники, например ромбододекаэдр или октаэдр. Существенным отличием от двумерного случая является также наличие правильного, но не решетчатого расположения шаров в плотной упаковке. Поэтому при решении задачи об оптимальной плотной упаковке в контейнер в пространственном случае необходимо рассмотреть несколько вариантов таких упаковок. В монографиях [1,17] указаны две известные решетки, задающие координаты центров шаров такой упаковки: гранецентри-рованная кубическая решетка и гексагональная плотноупакованная решетка. Причем основу обеих решеток составляют расположенные на параллельных плоскостях плоскости точки, лежащие в узлах плоской гексагональной решетки. Различаются же они между собой положением плоскостей относительно друг друга, а именно разным сдвигом, обеспечивающим попадание шаров с центрами в одной плоскости в лунки, образованные шарами в другой. На их основе авторы решили также рассматривать нерешетчатую правильную упаковку, которая строится путем чередования групп слоев, каждый из которых имеет структуру гексагональной плотной упаковкой на плоскости (такие варианты предложены, например, в [1]). Вообще, такие конструкции с чередованием слоев различного типа известны как упаковки Барлоу [18].
Рассмотрим множество G, состоящее из конечного или бесконечного числа точек gi, для которого при заданном r > 0 имеет место
Vgi €Gp (gi, (G \{gi})) ^ 2r. (3.1)
Определение 3.1. Назовем максимальной упаковкой, заданной для компакта M набором точек G, набор из шаров радиусом r, с центрами в точках S* = S*(M, G), где
S*(M, G) = {gi € G: (gi € M)&р (gi, dM) ^ r}. (3.2)
Условия (3.1) и (3.2) гарантируют, что набор шаров B(si,r), si € S*(M, G), является упаковкой в компакт M.
Введем функцию
N * (M, G) 4 card (S* (M, G)), (3.3)
равную числу элементов максимальной упаковки (или нулю, в случае если ни один шар радиусом r, с центром в точке из G, не может быть вложен в M). Решение задачи 1.2 сводится к максимизации функции (3.3) путем подбора нужного G.
Ограничимся рассмотрением случая, когда набор точек G фиксирован с точностью до перемещений в пространстве. Введем обозначение
G(g , , ay, az
) 4 rot ((G + {g}) , , ay, az ) ,
rot (M,
ax, ay, az
) 4 rot (rot (rot (M, Ос), , J ,
rot(M, a) 4 {(mi, m2, m3) € R3: (mi, m2, m3) = (mi, m2 cos a — m3 sin a, m3 cos a + m2 sin a),
x
(mi, m2, m3) € M},
rot(M, a) 4 {(mi, m2, m3) € R3: (mi, m2, m3) = (mi cos a + m3 sin a, m2, m3 cos a — mi sin a),
y
(mi, m2, m3) € M},
rot(M, a) 4 {(mi, m2, m3) € R3: (mi, m2, m3) = (mi cos a — m2 sin a, m2 cos a + mi sin a, m3),
z
(mi, m2, m3) € M}.
То есть множество О(§, ах, ау, а) получается из О посредством последовательно выполненного сдвига на вектор и трех поворотов относительно координатных осей.
Решение задачи 1.2, в случае если мы ограничиваемся рассмотрением наборов точек, конгруэнтных заданному, в свою очередь, сводится к максимизации функции
N*(дъ£2,дз,ах,ау) й N*(М,О((#1 ,52,53), Ох,ау)), (3.4)
у которой шесть скалярных аргументов.
Замечание 2. Если в качестве набора О взять решетку, инвариантную относительно параллельного переноса вдоль осей координат, то пределы изменения значений 51,52,53 существенно сокращаются. Например, если О — массив центров шаров радиусом г, упакованных в гранецентрированную кубическую решетку с гексагональными слоями [17], то при соответствующем выборе координатных осей достаточно рассмотреть координаты в пределах
51 € [0,2г], 52 е |о,2л/Зг], 53 € |о,4л/бг/3 .
Численное решение задачи об оптимальной плотной упаковке шаров в произвольный эллипсоидный контейнер производится аналогично двумерному случаю [11] с учетом увеличения степеней свободы для определения оптимального положения контейнера над неподвижной плотной упаковкой. Ввиду сложности формы области возможных начальных положений набора О вместо ее аналитического описания в расчетах используется ее точечная аппроксимация методом Монте-Карло, причем количество аппроксимирующих точек выбиралось таким образом, чтобы обеспечить устойчивый результат в части максимального количества элементов упаковки [19]. Такой же подход применим и для координат, характеризующих ориентацию О. В итоге из всех наборов возможных положений и ориентацией выбирается тот набор 51,52, 5з, ах, ау, а, для которого количество элементов плотной упаковки, попадающих внутрь контейнера, максимально.
§ 4. Примеры построения упаковок
С помощью разработанного в среде МЛТЬЛБ программного комплекса [20] выполнено численное решение задач при различных множествах М, представляющих собой эллипсоиды с центром в начале координат. В нем развиты и экстраполированы для трехмерного пространства ранее реализованные процедуры работы с негладкими кривыми на плоскости [21]. Косвенным показателем близости упаковки к оптимальной является ее плотность ст(ига), то есть отношение суммы объемов шаров упаковки к объему компакта М. Для сравнения: плотность оптимальной упаковки всего пространства равна 7г/л/18 ~ 0.74 [2, с. 271].
Пример 4.1. Требуется построить наилучшие упаковки для эллипсоида М, ограниченного поверхностью
+ ^
= 1,
0.72 0.82 при числе шаров п, равном 30 и 40.
Полученный при п = 30 массив центров шаров:
530 « {(0.7516, -0.0915, -0.1568), (-0.0341,0.1664, -0.5623),
(4.1)
-0.1799, -0.4753, -0.1088), -0.4831, -0.3745, 0.1404), -0.6498, -0.0217, 0.3211), 0.2050, 0.3952, -0.3267), -0.3909, -0.2802, -0.3944), 0.5140, -0.3744,0.0174), 0.6458, 0.2755, 0.0968), -0.3185,0.3534, -0.3437), 0.2831, 0.4515, 0.1289),
(0.7071, -0.0950,0.2479), (0.1191, -0.2098, -0.0419), (0.3767, 0.1205, 0.3584), (0.3470, -0.3370, -0.3511), (0.0424, 0.3394, 0.4345), (-0.0089, -0.2367, -0.5240), (0.0245, -0.4401,0.2772), (0.0670, -0.0484,0.5855), (0.3431, 0.0218, -0.5382),
0.3803, -0.2850, 0.3945), -0.7455, -0.1589, -0.0801), -0.3210, 0.2257, 0.1258), -0.6936, 0.2391, -0.0304), -0.1926, 0.0033, -0.1863), 0.3811,0.0822, -0.1401), -0.2793, -0.2528,0.4685), -0.6001, 0.0660, -0.3835), -0.0760, 0.4936, -0.0522), -0.3034, 0.1478, 0.5224)}.
Рис. 1. Аппроксимация оптимальной упаковки изо в примере 4.1
Радиус шаров равен Ем(Бзо) ~ 0.2019, плотность упаковки — ст(изо) « 0.4407. Упаковка изо эллипсоида представлена на рис. 1. На нем черными линиями показаны сечения поверхности (4.1), перпендикулярные осям координат. Полученный при п = 40 массив центров шаров:
Б40 « {
—0.0682,0.3082,0.4884), 0.5122, —0.3925,0.0750), 0.1933, 0.4202, —0.3225), 0.2855, 0.1998,0.5222), —0.4247,0.2094,0.4589), 0.0011, —0.0379, 0.6112), 0.1605, —0.0442,0.2712), —0.6988,0.0063,0.3139), —0.2515, —0.4533,0.2182), 0.4988,0.3918, —0.1148), —0.2668, 0.0668, —0.5755), —0.3307, 0.0280, —0.1862), 0.4973,0.3446,0.2538), —0.4583, —0.2157, —0.4354)}.
0.7595, —0.1691, —0.0844), —0.6626, 0.1267, —0.3202), 0.6864, 0.1261, —0.2932), —0.5931, —0.3185,0.1705), —0.7133, 0.2424, 0.0287), 0.1303, —0.4595,0.2407), 0.2356, —0.2796, —0.4847), —0.4132, —0.4269, —0.1343), 0.7628, 0.1687, 0.0654), —0.2675, —0.1128, 0.3639), 0.4168, —0.2730,0.4123), —0.3108,0.4450,0.1964), —0.7906, —0.1085, —0.0631),
—0.0617, 0.5100, —0.0698), —0.1189, —0.3638, —0.4249), 0.3303,0.0424, —0.3337), —0.0554, —0.5086, —0.0902), 0.0863,0.1734, —0.5759), —0.1663, 0.3765, —0.3993), 0.4297,0.0042,0.0174), 0.0166,0.1495, —0.1337), —0.4375, 0.4131, —0.1502), 0.1482,0.4667,0.2322), 0.6350,0.0254,0.3819), 0.2227, —0.2681, —0.1168), —0.1014, —0.1624,0.0356),
Радиус шаров равен Ем(Б4о) ~ 0.1834, плотность упаковки — ст(и4о) « 0.4409. Упаковка и4о эллипсоида представлена на рис. 2.
Рис. 2. Аппроксимация оптимальной упаковки [[40 в примере 4.1
Пример 4.2. Требуется построить наилучшие упаковки для эллипсоида М, ограниченного поверхностью
X2 + у2 +
0.752
= 1,
при числе шаров п, равном 45 и 65.
Полученный при п = 45 массив центров шаров:
&45 « {
0.0356, -0.1419,0.5416), -0.0344, -0.7949, -0.0593), 0.1701, 0.7010, 0.2382), 0.2396, -0.0020, -0.5171), 0.0459, -0.6515,0.3103), -0.3589, -0.0186, 0.3618), 0.3325, -0.1810,0.0491), -0.2244,0.6921,0.2306), -0.4040,0.3884, -0.3932), 0.7044, 0.1789, 0.2293), 0.3152, 0.4391, -0.4076), 0.3679, 0.3993, 0.4042), -0.3726,0.6832, -0.1342), -0.2427, -0.5897, -0.3300), 0.6430, -0.4773, -0.0193),
-0.3260,0.2894, -0.0199), 0.6560, -0.2134,0.2775), -0.3375, -0.6779, 0.1736), -0.6591,0.3816,0.1678), 0.5170, -0.2702, -0.3619), -0.2562, -0.3945, 0.4433), -0.6511, -0.4364, 0.0985), 0.3970, 0.0113, 0.4772), -0.5700, -0.3653, -0.2894), 0.2620, -0.5348, -0.1199), 0.3278, -0.3865,0.4227), 0.5817, 0.5331, 0.1013), 0.3173, 0.7137, -0.1274), -0.7728,0.1330, -0.1182), -0.1156,0.0328, -0.2339),
(4.2)
0.0469,0.4179, -0.0084), -0.3601, 0.3753, 0.4197), -0.2416, -0.2313, -0.5005), 0.7856, -0.1133, -0.0817), -0.0382, 0.3031, -0.5107), -0.1015, -0.3992, -0.0019), 0.7239,0.2681, -0.1529), -0.5348, 0.0172, -0.4095), 0.3445,0.1804, -0.1161), -0.7288, -0.0533,0.2229), -0.4224, -0.1096, -0.0185), 0.1259, -0.3911, -0.4686), -0.0258, 0.6506, -0.3193), -0.0238, -0.0332,0.1463), 0.0087,0.2384,0.4331)}.
Радиус шаров равен Км (£45) ~ 0.1955, плотность упаковки эллипсоида представлена на рис. 3.
ст([45) « 0.4483. Упаковка [45
г
Рис. 3. Аппроксимация оптимальной упаковки К45 в примере 4.2
Полученный при п = 65 массив центров шаров:
{
0.2401, 0.6491, —0.3113), —0.8016,0.1801, —0.0584), —0.5345,0.0405,0.1151), 0.0528, 0.0924, 0.0279), —0.2528, —0.1219, —0.0075), —0.0116, —0.3241, 0.5288), —0.5245, —0.3897, 0.0233), 0.6166, —0.0205,0.3838), 0.5009, —0.3485, —0.3857), —0.1698, —0.6802, —0.3005), —0.1861, —0.4606, 0.0317), —0.5624,0.2726,0.3719), —0.1706,0.5689,0.2000), —0.0908, —0.0763, 0.2972), 0.1027, —0.5889, —0.1084), 0.1638, —0.7661,0.1823), —0.3503, —0.3693, 0.4506), —0.7986, —0.1817, 0.0747), 0.7422, —0.1568, —0.2285), —0.2455, —0.3892, —0.4767), 0.5567, —0.3568,0.3441), —0.1060, —0.1103, —0.3225),
—0.4294, —0.0303, 0.4886), —0.2078,0.1323, —0.5485), 0.0988, 0.0863, 0.5688), 0.6110, 0.5543, —0.0430), 0.3599, 0.1070, 0.1975), 0.6653, 0.3006, —0.2698), —0.0433,0.4338, —0.4875), 0.0399, 0.4830, 0.4642), —0.6302,0.4525, —0.1933), —0.1476, —0.8102, 0.0241), 0.3084, —0.1861,0.5175), —0.4029,0.7034, —0.1063), -0.4799,0.1381,
—0.0054,0.8247, 0.4986, 0.0129, —' 0.2251, —0.4480, 0.6846, —0.4550, —0.2531,0.2461, 0.6755, 0.2968, 0 0.4428, —0.2183, 0.6331, 0.0823, —' -0.5193,0.5733,
—0.2145),
0.0309),
0.4429),
0.3051),
—0.0654),
0.0968),
2586),
0.0338),
0.0067),
0.1969)}.
0.7805, —0.1928, 0.1363), 0.0917, —0.2537, 0.0496), —0.4054, —0.6358,0.2338), —0.1018, 0.7094, —0.2831), —0.4595, —0.0936, —0.4728), 0.3748,0.3592, —0.4468), 0.1115,0.4575, —0.0180), 0.1123,0.1820, —0.3040), —0.7316, —0.0979, —0.2559), 0.3435,0.3133,0.4747), —0.1941, 0.2248, 0.4409), 0.3342,0.7560,0.0065), 0.2421, —0.1580, —0.2521), 0.1190, —0.4577, —0.4559), 0.1343, —0.0463, —0.5667), —0.5575, —0.3914, —0.3230), —0.2561, 0.4050, —0.2136), 0.4296, —0.6382, —0.2092), —0.0886, —0.6235,0.3711), 0.4825, —0.6343, 0.1513), 0.4597,0.5666,0.2682),
Рис. 4. Аппроксимация оптимальной упаковки Ц*65 в примере 4.2
Радиус шаров равен Км(£65) ~ 0.1709, плотность упаковки — ст([45) эллипсоида представлена на рис. 4.
0.4326. Упаковка и65
Пример 4.3. Требуется построить наилучшие упаковку для эллипсоида М, ограниченного поверхностью (4.2), при радиусе шаров г = Км(£б5) ~ 0.1709 в классе упаковок на основе правильных ячеек в пространстве.
Из всех рассмотренных в § 3 вариантов наилучшим оказалась правильная нерешетчатая упаковка. Количество шаров в найденной численными методами упаковке п = 67. Массив их центров:
£67 «{
-0.4253, -0.5139, -0.1248), -0.3754, -0.6987, 0.1584), -0.0820, -0.5327, 0.2150), -0.4753, -0.3291, -0.4080), -0.1819, -0.1631, 0.6768, -0.1725, -0.1320, 0.3479
0.7268, -0.3573, --0.0792, —0.1913. —0.0293, -0.3760. -0.7287,0.1783, -0.1300, 0.1689, -0 -0.6788, -0.0065, 0.1799, 0.0159, 0
-0.3514), 0.3026), -0.0682), 0.0195), 0.2310), 0.5142), 0.2384), 1897), 0.0448), 0935),
-0.1847, -0.5045, -0.3674), -0.1348, -0.6893, -0.0842), 0.2270, -0.5421,0.3606), 0.0744, -0.3291, -0.5049), 0.1272, -0.1725, -0.2057), -0.6816, -0.3479, 0.0287), 0.1771, -0.3573,0.0775), -0.6289, -0.1913, 0.3279), 0.2299, -0.2006,0.3767), -0.4724,0.0123, -0.3920), -0.4197,0.1689, -0.0928), 0.3706, 0.1783, -0.4323), -0.3698, -0.0159, 0.1904), 0.4205, -0.0065, -0.1491),
0.1243, -0.5139, -0.2217), 0.1743, -0.6987, 0.0615), 0.4676, -0.5327, 0.1181), -0.4225, -0.1725, -0.1088), 0.3678, -0.1631, -0.4483), -0.3726, -0.3573,0.1744), 0.4177, -0.3479, -0.1651), -0.3198, -0.2006,0.4736), 0.4705, -0.1913, 0.1341), 0.0772,0.0123, -0.4889), -0.1791, 0.1783, -0.3353), 0.6797,0.1689, -0.2866), -0.1291, -0.0065, -0.0522), 0.7296, -0.0159, -0.0034),
Рис. 5. Упаковка Ц"б7, построенная на базе правильной нерешетчатой упаковки в примере 4.3
(-0.6261,0.1502,0.3439), (0.2327,0.1408,0.3927), (0.5232, -0.0346,0.4333), (-0.4169,0.5104, -0.0767), (-0.6760,0.3350,0.0608), (0.1828,0.3256,0.1095), (-0.0736,0.4916,0.2630), (-0.3641,0.6670,0.2224), (0.4262,0.6764, -0.1171)}.
(-0.3170,0.1408,0.4896), (0.4733,0.1502,0.1501), (-0.4696, 0.3537, -0.3759), (-0.1762,0.5197, -0.3193), (-0.3669,0.3256,0.2064), (0.4234,0.3350, -0.1331), (0.2355,0.4822,0.4087), (-0.1235,0.6764, -0.0201),
(-0.0764,0.1502,0.2470), (-0.0265, -0.0346,0.5302), (0.0801,0.3537, -0.4729), (0.1328, 0.5104, -0.1737), (-0.1263,0.3350, -0.0362), (0.7324,0.3256,0.0126), (0.4761,0.4916,0.1661), (0.1856,0.6670,0.1255),
Плотность полученной упаковки — 0"(Цб7) ~ 0.4459. С помощью упаковки с чередованием слоев получен результат с шарами с тем же радиусом, что и в примере 4.2, но с большим их числом. Упаковка Ц"б7 показана на рис 5.
§ 5. Заключение
Разработан и реализован программный комплекс для построения аппроксимаций оптимальных упаковок конгруэнтных шаров в эллипсоидальные контейнеры. В примерах 4.1 и 4.2 показано построение упаковок с помощью итерационных методов при фиксированном числе элементов. В примере 4.3 продемонстрировано построение упаковки при фиксированном радиусе шаров на основе гексагональной центрированной кубической и гексагональной плотноупако-ванной решетки. При этом полученная упаковка (на базе нерешетчатой правильной упаковки) содержит большее число шаров при том же радиусе, чем упаковка, полученная в примере 4.2 с помощью поэтапного сдвига по формуле (2.22) точек со стохастически сгенерированными координатами.
Финансирование. Работа выполнена при финансовой поддержке постановления № 211 Правительства Российской Федерации, контракт № 02.A03.21.0006.
Список литературы
1. Слоэн Н.Дж.А. Упаковка шаров //В мире науки. 1984. № 3. С. 72-82.
2. Тот Л.Ф. Расположения на плоскости, на сфере и в пространстве. М.: Физматлит, 1958. 364 с.
3. Красовский Н.Н. Теория управления движением. М.: Наука, 1968. 476 с.
4. Kurzhanski A.B. Ellipsoidal calculus for estimation and feedback control // Systems and control in the twenty-first century. Boston, MA: Birkhauser, 1997. P. 229-243. DOI: 10.1007/978-1-4612-4120-1_12
5. Лебедев П.Д., Успенский А.А. Алгоритмы построения оптимальных упаковок в трехмерном евклидовом пространстве // Proceedings of the 47th international youth school-conference «Modern problems in mathematics and its applications» (MPMA 2016). Vol. 1662 of CEUR Workshop Proceedings (CEUR-WS.org). С. 84-93. http://ceur-ws.org/Vol-1662/opt5.pdf
6. Стоян Ю.Г., Яковлев С.В. Математические модели и оптимизационные методы геометрического проектирования. Киев: Наукова думка, 1986. 266 c.
7. Казаков А.Л., Лемперт А.А. Об одном подходе к решению задач оптимизации, возникающих в транспортной логистике // Автоматика и телемеханика. 2011. № 7. С. 50-57.
8. Субботин А.И. Обобщенные решения уравнений в частных производных первого порядка. Перспективы динамической оптимизации. М.-Ижевск: Институт компьютерных исследований, 2003. 336 с.
9. Демьянов В.Ф., Васильев Л.В. Недифференцируемая оптимизация. М.: Наука, 1981. 384 с.
10. Лебедев П.Д., Казаков А.Л. Итерационные методы построения упаковок из кругов различного диаметра на плоскости // Труды Института математики и механики УрО РАН. 2018. Т. 24. № 2. С. 141-151. DOI: 10.21538/0134-4889-2018-24-2-141-151
11. Ушаков В.Н., Лебедев П.Д., Лавров Н.Г. Алгоритмы построения оптимальных упаковок в эллипсы // Вестн. ЮУрГУ. Сер. Матем. моделирование и программирование. 2017. Т. 10. № 3. С. 67-79. DOI: 10.14529/mmp170306
12. Гаркави А.Л. О чебышёвском центре и выпуклой оболочке множества // УМН. 1964. Т. 19. Вып. 6 (120). С. 139-145. http://mi.mathnet.ru/umn6276
13. Гаркави А.Л. О наилучшей сети и наилучшем сечении множеств в нормированном пространстве // Известия АН СССР. Сер. матем. 1962. Т. 26. Вып. 1. С. 87-106.
14. Stoyan Yu., Yaskov G., Scheithauer G. Packing of various solid spheres into a parallelepiped // Central European Journal of Operational Research. 2003. Vol. 11. Issue 4. P. 389-407.
15. Liu J., Yao Y., Zheng Yu, Geng H., Zhou G. An effective hybrid algorithm for the circles and spheres packing problems // COCOA 2009: Combinatorial Optimization and Applications. Lecture Notes in Computer Science. Vol 5573. Berlin-Heidelberg: Springer, 2009. P. 135-144.
DOI: 10.1007/978-3-642-02026-1 _12
16. Lubachevsky B.D., Stillinger F.H. Geometric properties of random disk packings // Journal of Statistical Physics. 1990. Vol. 60. Issue 5-6. P. 561-583. DOI: 10.1007/BF01025983
17. Конвей Дж., Слоэн Н. Упаковки шаров, решетки и группы. Т. 1. М.: Мир, 1990. 415 с.
18. Barlow W. Probable nature of the internal symmetry of crystals // Nature. 1883. Vol. 29. Issue 738. P. 186-188. DOI: 10.1038/029186a0
19. Сухарев А.Г., Тимохов А.В., Федоров В.В. Курс методов оптимизации. М.: Наука, 1986. 326 с.
20. Лебедев П.Д. Программа вычисления оптимального покрытия полусферы набором сферических сегментов. Свидетельство о государственной регистрации №2015661543 от 29.10.2015.
21. Ушаков В.Н., Лебедев П.Д. Алгоритмы оптимального покрытия множеств на плоскости R2 // Вестник Удмуртского университета. Математика. Механика. Компьютерные науки. 2016. Т. 26. Вып. 2. С. 258-270. DOI: 10.20537/vm160212
Поступила в редакцию 11.10.2018
Лебедев Павел Дмитриевич, к. ф.-м. н., старший научный сотрудник, отдел динамических систем, Институт математики и механики УрО РАН, 620108, Россия, г. Екатеринбург, ул. С. Ковалевской, 16; старший научный сотрудник, Институт естественных наук и математики, Уральский федеральный университет, 620002, Россия, г. Екатеринбург, ул. Мира, 19. E-mail: [email protected]
Лавров Никита Георгиевич, к. ф.-м.н., научный сотрудник, отдел динамических систем, Институт математики и механики УрО РАН, 620108, Россия, г. Екатеринбург, ул. С. Ковалевской, 16. доцент, Институт радиоэлектроники и информационных технологий, Уральский федеральный университет, 620002, Россия, г. Екатеринбург, ул. Мира, 19. E-mail: [email protected]
P. D. Lebedev, N. G. Lavrov
Algorithms of optimal ball packing into ellipsoids
Citation: Izv. Inst. Mat. Inform. Udmurt. Gos. Univ., 2018, vol. 52, pp. 59-74 (in Russian). Keywords: packing, Chebyshev center, super differential, iterative algorithm, face-centered cubic lattice.
MSC2010: 05B40, 11H31
DOI: 10.20537/2226-3594-2018-52-05
The article deals with the problem of constructing a package from a set of congruent balls into closed convex sets. As the form of containers for packaging, ellipsoids are chosen. In one case, the number of package elements is considered fixed, and the maximization of the radii of package elements is chosen as the optimization criterion. In another case, the radius of the balls is fixed and the problem of finding the package with the largest number of elements is posed. Iterative algorithms for constructing optimal packages based on the imitation of pushing their centers away from each other and from the container boundary are proposed. Algorithms are developed for constructing packages on the basis of the most dense packaging of three-dimensional space, which is a lattice of various types and their combinations. A simulation of the solution of a number of problems and visualization of results is performed.
Funding. The work was done with the financial support of the Government of the Russian Federation, decree 211, contract no. 02.A03.21.0006.
REFERENCES
1. Sloane N.J.A. The packing of spheres, Scientific American, 1984, vol. 250, no. 1, pp. 116-125. DOI: 10.1038/scientificamerican0184-116
2. Toth L.F. Lagerungen in der Ebene, auf der Kugel und im Raum, Berlin: Springer, 1953, x+198 p. DOI: 10.1007/978-3-662-01206-2
3. Krasovskii N.N. Teoriya upravleniya dvizheniem (Motion control theory), Moscow: Nauka, 1968, 476 p.
4. Kurzhanski A.B. Ellipsoidal calculus for estimation and feedback control, Systems and control in the twenty-first century, Boston, MA: Birkhauser, 1997, pp. 229-243. DOI: 10.1007/978-1-4612-4120-1_12
5. Lebedev P.D., Uspenskii A.A. Algorithms of optimal packing construction in a 3-dimensional Euclidian space, Proceedings of the 47th International Youth School-conference "Modern Problems in Mathematics and its Applications" (MPMA 2016), Vol. 1662 of CEUR Workshop Proceedings (CEUR-WS.org), pp. 84-93 (in Russian). http://ceur-ws.org/Vol-1662/opt5.pdf
6. Stoyan Yu.G., Yakovlev S.V. Matematicheskie modeli i optimizatsionnye metody geometricheskogo proek-tirovaniya (Mathematical models and optimization methods of geometric design), Kiev: Naukova dumka, 1986. 266 p.
7. Kazakov A.L., Lempert A.A. An approach to optimization in transport logistics, Automation and Remote Control, 2011, vol. 72, no. 7, pp. 1398-1404. DOI: 10.1134/S0005117911070071
8. Subbotin A.I. Generalized solutions of first-order PDEs, Boston: Birkhauser, 1995, xi+314 p. DOI: 10.1007/978-1-4612-0847-1
9. Dem'yanov V.F., Vasil'ev L.V. Nondifferentiable optimization, New York: Springer, 1985, XVII+452 p.
10. Lebedev P.D., Kazakov A.L. Iterative methods for the construction of planar packings of circles of different size, Tr. Inst. Mat. Mekh. Ural. Otd. Ross. Akad. Nauk, 2018, vol. 24, no. 2, pp. 141-151 (in Russian). DOI: 10.21538/0134-4889-2018-24-2-141-151
11. Ushakov V.N., Lebedev P.D., Lavrov N.G. Algorithms of optimal packing construction in ellipse, Bulletin of the South Ural State University. Series "Mathematical Modelling, Programming and Computer Software", 2017, vol. 10, issue 3, pp. 67-79 (in Russian). DOI: 10.14529/mmp170306
12. Garkavi A.L. On the Chebyshev center and convex hull of a set, Uspekhi Mat. Nauk, 1964, vol. 19, issue 6 (120), pp. 139-145 (in Russian). http://mi.mathnet.ru/eng/umn6276
13. Garkavi A.L. The best possible net and the best possible cross-section of a set in a normed space, American Mathematical Society Translations: Series 2, 1964, vol. 39, pp. 111-132. DOI: 10.1090/trans2/039/05
14. Stoyan Yu., Yaskov G., Scheithauer G. Packing of various solid spheres into a parallelepiped, Central European Journal of Operational Research, 2003, vol. 11, issue 4, pp. 389-407.
15. Liu J., Yao Y., Zheng Yu, Geng H., Zhou G. An effective hybrid algorithm for the circles and spheres packing problems, COCOA 2009: Combinatorial Optimization and Applications, Lecture Notes in Computer Science, vol 5573, Berlin-Heidelberg: Springer, 2009, pp. 135-144.
DOI: 10.1007/978-3-642-02026-1_12
16. Lubachevsky B.D., Stillinger F.H. Geometric properties of random disk packings, Journal of Statistical Physics, 1990, vol. 60, issue 5-6, pp. 561-583. DOI: 10.1007/BF01025983
17. Conway J.H., Sloane N.J.A. Sphere packings, lattices and groups, New York: Springer, 1988, xxvii+665 p. DOI: 10.1007/978-1-4757-2016-7
18. Barlow W. Probable nature of the internal symmetry of crystals, Nature, 1883, vol. 29, issue 738, pp. 186-188. DOI: 10.1038/029186a0
19. Sukharev A.G., Timokhov A.V., Fedorov V.V. Kurs metodov optimizatsii (A course in optimization methods), Moscow: Nauka, 1986. 326 p.
20. Lebedev P.D. The program for calculating the optimal coverage of a hemisphere by a set of spherical segments, The certificate of state registration no. 2015661543, 29.10.2015.
21. Ushakov V.N., Lebedev P.D. Algorithms of optimal set covering on the planar R2, Vestnik Udmurtskogo Universiteta. Matematika. Mekhanika. Komp'yuternye Nauki, 2016, vol. 26, issue 2, pp. 258-270 (in Russian). DOI: 10.20537/vm160212
Received 11.10.2018
Lebebev Pavel Dmitrievich, Candidate of Physics and Mathematics, Senior Researcher, Department of Dynamical Systems, Institute of Mathematics and Mechanics, Ural Branch of the Russian Academy of Sciences, ul. S. Kovalevskoi, 16, Yekaterinburg, 620108, Russia;
Senior Researcher, Institute of Natural Sciences and Mathematics, Ural Federal University, ul. Mira, 19, Yekaterinburg, 620002, Russia. E-mail: [email protected]
Lavrov Nikita Georgievich, Candidate of Physics and Mathematics, Researcher, Department of Dynamical Systems, Institute of Mathematics and Mechanics, Ural Branch of the Russian Academy of Sciences, ul. S. Kovalevskoi, 16, Yekaterinburg, 620108, Russia;
Associate Professor, Institute of Radioelectronics and Information Technologies, Ural Federal University, ul. Mira, 19, Yekaterinburg, 620002, Russia. E-mail: [email protected]