Нахождение крайних точек суммы двух политопов

Бесплатный доступ

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

Политоп, коническая оболочка, сумма минковского, крайняя точка, линейное программирование

Короткий адрес: https://sciup.org/14968877

IDR: 14968877   |   УДК: 519.852.2   |   DOI: 10.15688/jvolsu1.2016.6.1

Finding the vertices of the sum of two polytopes

This work introduces a criterion for finding the vertices of a Minkowski sum of two polytopes conv𝐴 ⊂ R𝑛 and conv𝐵 ⊂ R𝑛, where = = {𝑎0,..., 𝑎𝑚} and = {𝑏0, 𝑏1,..., 𝑏𝑚𝑏}. These convex sets are also denoted as V-polytopes. The constructions used in the present paper stay entirely in the space of V-polytopes, without any transitions to their duals, that is H-polytopes (half-space representation). Before formulating a general criterion, we consider a special case - the sum of a polytope conv𝐴 and a line segment conv{𝑏0, 𝑏1}. The following lemma holds. Fix in 0 : 𝑚. 1) If 𝑣 ̸∈ 𝐾(𝑎𝑖), then + is a vertex of conv𝐴𝑣. Else, + is not a vertex of conv𝐴𝑣. 2) If -𝑣 ̸∈ 𝐾(𝑎𝑖), then is a vertex of conv𝐴𝑣. Else, is not a vertex of conv𝐴𝑣. Here = {𝑎0, 𝑎1,..., 𝑎𝑚, 𝑎0 + 𝑣, 𝑎1 + 𝑣,..., + 𝑣}, = 𝑏1 - 𝑏0, 𝐾(𝑎𝑖) := 𝐾(conv {𝑎0 - 𝑎𝑖, 𝑎1 - 𝑎𝑖,..., 𝑎𝑖-1 - 𝑎𝑖, 𝑎𝑖+1 - 𝑎𝑖,..., - 𝑎𝑖}), where 𝐾(𝐶) is a cone generated by set 𝐶. Using an analogical scheme of reasoning as in the lemma, we present the main result of the this work. Theorem. Fix ∈ 0 : and ∈ 0 : 𝑚𝑏. The point + is a vertex of the polytope conv𝐴 + conv𝐵 if and only if cones -𝐾(𝑏𝑗) and 𝐾(𝑎𝑖) do not intersect. The suggested criterion possesses an intuitive graphic interpretation and is proven by elementary tools of convex anaylsis. In conclusion we note, that the theorem can be applied solving a linear programming problem. Moreover, the latter turns out to be dual to a similar LP problem, constructed using the properties of H-polytopes.

Текст научной статьи Нахождение крайних точек суммы двух политопов

DOI:

1.    Вспомогательные сведения

Приведем некоторые базовые понятия и результаты теории выпуклого анализа, которые упростят понимание основных результатов (см.: [1; 5; 6]). Пусть множество Л состоит из точек а 0 , ..., а т пространства R .

Определение 1. Выпуклой оболочкой conv Л множества Л называется наименьшее выпуклое множество, содержащее Л.

Определение 2. Множество Р = conv { a 0 ,..., а т } назовем политопом.

Определение 3. Точка р политопа Р называется крайней, если она не принадлежит выпуклой оболочке никаких двух отличных от нее различных точек политопа Р.

Проиллюстрируем введенные понятия. Рассмотрим множество Л, состоящее из трех точек на плоскости:

Л = о 1 2 } =   0, -Д-2).                    (1)

На рисунке 1, а) треугольник со своей внутренностью соответствует множеству conv Л, а вершины являются крайними точками.

Определение 4. Пусть подмножество С является частью пространства R . Множество

К (С) = {Лж | Л > 0, ж Е С} называется конусом, порожденным подмножеством С.

Если множество С — выпуклое, то К (С ) также является выпуклым множеством. Заметим, что К (С ) необязательно содержит начало координат.

Определим несколько необходимых нам множеств. Пусть все точки а г из множества Л отличны друг от друга и являются крайними для политопа conv Л. Зафиксируем индекс i Е 0 : т. Вычтем а г из остальных точек Л и зададим множество

Л(а ^ ) :— { ао — a ^ ,a i

- а { , ... ,а » - 1 а 4 г+1

а г ,...,а т

а г } .

Отметим, что в множестве Л(а г ) отсутствует нулевой вектор.

Обозначим выпуклый многогранный конус, натянутый на множество { convЛ а г }\ \ 0 п , следующим образом

К(а г ) :— К (convЛ(a г )).

Рассмотрим пример. Для множества (1) получим Л(а 0 ) и К 0 ) (см. рис. 1):

Л'а о ) — {( з^— 2 )} -

Аналогичным образом определим множества В(Ь г ), К(Ь г ) для набора точек В = = { Ь 0 1 ,... ,Ь т ь } , где все Ь г Е R отличны друг от друга и являются крайними для политопа conv В.

Под алгебраической суммой политопов conv Л и conv В понимаем conv Л + conv В := {а + Ь | а Е conv Л, Ь Е conv В}.

Заметим, что выражение (2) также называется суммой Минковского.

2.    Крайние точки суммы политопа и отрезка

Приведем рассуждения для нахождения крайних точек сложения политопа с отрезком.

б) К о )

а) Треугольник conv А и отрезок L

Рис. 1. Изображения выпуклой оболочки множества А и конуса К ( а 0 )

Рис. 2. Сумма политопа и отрезка

Рассмотрим пример. Изобразим сумму S о треугольника conv А и отрезка L с вершинами в точках (0, 0) т и (4, 0) т (рис. 2):

  • *™ А + L = conv{Q,(-2) , (f) , ■ , Q , Q}.       (3)

На рисунке 2, б) видно, что точка (0,3) т не является крайней для нового многоугольника, поэтому она несущественна для задания результата суммы (3). Точку (0, 3)т следует идентифицировать и удалить из S о .

Пусть Ь о 1 Е R , Ь о = b i . Согласно (2) сложение политопа conv А c отрезком conv { b 0 ,b 1 } образует выпуклое множество S 1 :

S 1 := conv А + conv { b 0 , b i } =

  • = conv { a о + Ь о , a i + Ь о , ..., a m + Ь о , а о + b i , a i + b i , ..., а т + b i } .           (4)

Выражение (4) можно переписать, как сумму точки и множества

S 1 = b 0 + conv А, и ,                                  (5)

где А у = { а о , a i ,..., а т , а о + v, a i + v,..., а т + у } , у = b i - Ь о .

Свяжем описанные множества с приведенными ранее примерами. Выпуклая оболочка S 1 изображена на рисунке 2 б), где Ь 0 = (0,0) т , Ь 1 = (4,0) т и множество A задается в (1).

Рассмотрим другое представление суммы (5) (многогранника и отрезка). Множество convA y можно получить смещая convA на вектор v, при этом «запоминая» весь след смещения (рис. 3).

Рис. 3. Множество А ^ и вектор смещения v

В следующей лемме сформулировано правило по выявлению крайних точек множества convA y .

Лемма 1. Для каждой точки a i из множества А справедливо:

  • 1)    Если v ^ К (a i ) , то a i + v является крайней для conv A y .

В противном случае a i + v не является крайней для conv A y .

  • 2)    Если v ^ К(ai), то aiявляется крайней для convAy.

  • 3.    Критерий крайности точки в сумме двух политопов

В противном случае a i не является крайней для convA y .

Замечание 1. Лемма 1 задает необходимое и достаточное условие крайности точки для суммы политопа и отрезка.

Продемонстрируем графически условия леммы для точек a 0 и a 0 + v из рисунка 3. Изобразим конус К (a 0 ) и векторы v, v (рис. 4). На рисунке 4 видно, что v ^ К (a 0 ).

Рис. 4. Проверка условий леммы 1

Получаем, что точка а 0 + v является крайней. Теперь рассмотрим второй пункт леммы. Вектор v принадлежит конусу К 0 ). Тогда а 0 не является крайней.

Перейдем к общему случаю суммы двух политопов (2):

S := conv А + conv В = conv ^J ^J г + b j ).                 (6)

г Е 0:т j E 0 mb

Сформулируем необходимое и достаточное условие крайности точки для политопа (6). Критерий. Зафиксируем г Е 0 : т и j Е 0 : т ь . Для того чтобы точка а г + b j была крайней в политопе S, необходимо и достаточно, чтобы конусы К(b j ) и К(а г ) не пересекались.

Проиллюстрируем применение критерия на примере. Зададим множество

В -{©, (—60, ©}-

Рассмотрим сумму (рис. 5)

S -H^W). @. (fX^-GXD-G)}-

Рис. 5. Сумма двух политопов

Положим г = 0, j = 0 и проверим условия критерия для точки а 0 + b 0 , то есть (0, 3) Т . На рисунке 6 изображены конусы К 0 ) и К (b 0 ). Видно, что К (b 0 ) пересекает К 0 ). Тогда точка (0, 3) Т не является крайней для многоугольника S.

Пусть теперь г = 1, j = 0 и проверим условия критерия для точки а 1 + b 0 , то есть ( 2, 6) Т . На рисунке 7 изображены конусы К 1 ) и К (b 0 ). Очевидно, что К (b 0 ) не пересекает К 1 ). Тогда точка ( 2, 6) Т является крайней для многоугольника S .

Более естественно доказывается эквивалентная критерию следующая теорема о некрайности точки в сумме S :

Рис. 7. Проверка критерия в точке а 1 + Ь 0

Теорема. Зафиксируем i Е 0 : т и j Е 0 : т ^ . Для того чтобы точка a i + b j не была крайней в политопе S, необходимо и достаточно, чтобы конусы К(b j ) и К(a i ) пересекались.

Доказательство. Приведем вспомогательные рассуждения.

Пусть точка ж принадлежит политопу convA. Тогда существуют неотрицательные а0, а1,..., От, для которых ж = У^ ак ак,   "^2 ак = 1.

к Е 0:т         к Е 0:т

Если ж = ai, то вектор ж — ai принадлежит конусу К(ai) и представим в виде следующей линейной комбинации ж — ai = «о(ао — ai) + • • • + Oi(at — ai) + • • • + От(ат — ai), где хотя бы один из коэффициентов ак положителен при к Е {0 : т} \ {i}.

Рассмотрим М£ = A(ai)l — вектор с индексом I в множестве A(ai) и аналогично vk = B(bj)к, где I Е 1 : т, h Е 1 : т^. Для ж Е convA справедливо ж — ai = о00п + а1и1 + а2и2 + • • • + атит

52 a i ^ i ,

£С1:т где а = а и а = а^-1 при I Е 1 : г, а = а при I Е г + 1 : т. Следовательно,

У а = 1 — а, то есть 0 6 У «I 6 1.(8)

1 Е 1:т1

Аналогично из у Е conv В следует существование неотрицательных в1, в2, • • •, вть, для которых у - bj = Р1У1 + в2^2 +-----+ втьУть = У вкУк.(9)

к Е 1:т ь

Для любой точки z Е conv А + conv В найдутся, согласно (2), ж Е conv А и у Е Е conv В, для которых z = ж + у. Сложив (7) и (9), получим

Z = (аг + bj)+ У агиг + у вкУк.(10)

1 Е 1:т          К Е 1:т ь

Из определения 3 следует, что для любой не крайней точки с из политопа S найдутся различные точки z, А Е S , для которых векторы z с и z ' с противоположны (и потому z + z' = 2с).

Необходимость. Пусть точка аг + bj не является крайней для политопа S. Тогда найдутся различные точки z и z' из S, для которых z + z' = 2(аг + bj).(11)

Представим точки z и z' в виде (10), то есть z = (аг + bj)+ У а£и£ + у вкУк,(12)

1Е1:т          КЕ1:ть z' = (а + bj)+ У а^и^ + У в>к,(13)

1Е1:т          кЕ1:ть где все а^, вк, а'г, вк неотрицательны. Складывая равенства (12) и (13), получим z + z' = 2(аг + bj) — У^ (а1 + а1)и1 + У (вк + вк)ук,

1Е1:т                  кЕ1:ть откуда, учитывая (11), имеем

У 1 + а^и е = У к + в' к к .                   (14)

1 Е 1:т                       к Е 1:т ь

Вектор в левой части равенства (14) ненулевой (иначе z = z ' = а г + b j , а это противоречит условию z = z ' ) и принадлежит конусу К(а г ), а также К(b j ), то есть справедливо

К (b j ) Q К г ) = 0 .

Достаточность. Пусть конусы —К(bj) и К(аг) пересекаются. Тогда найдутся два ненулевых вектора qa Е К(аг) и q^ Е К(bj), для которых выполняется равенство q« = — qb.                                      (15)

Покажем, что существуют две разные точки z, z' Е S такие, что выполняется z + z' = = 2(a j + b j ).

Согласно определению конусов К (a t ) и К(b j ) справедливо представление

9а = 52 aiW, 9b = 52 вь^ь, i£1:m                hElvm^

где все коэффициенты al и вн неотрицательны и хотя бы по одному из них положителен. Далее найдем достаточно малое положительное число у, для которого точки z и z' вида z = (а + bj) + у 52 aiW, iG1:m

z' = (а{ + bj)+ у 52 вь^ь кЕ1:ть принадлежат политопу S (см. (10)). Согласно выражениям (7)-(10) коэффициент у должен удовлетворять системе неравенств:

52 ya i 6 1,    52 ув н 6 1.

i E 1:m               h ^ 1:m ^

Выберем любое число γ в пределах

0 < у 6 min *

( E a?)

\i E 1:m   /

- 1

- 1

Складывая равенства (16) и (17), получим z + z' = 2(аг + bj) + у (9a + 9b), откуда согласно (15) справедливо равенство z — (at + bj) — —(z — (at + bj)).

Если z = z' , то в силу (16) и (17) получим, что 9 а = 9 b . В то же время (см. (15)) 9 а = 9 b . A это возможно, если 9 а и 9 b нулевые вектора, что противоречит исходным предположениям.

Получаем, что z = z' и точка a t + b j принадлежит середине отрезка conv { z,z ' } , то есть a t + b j не является крайней в политопе S .

Замечание 2. Доказательство леммы 1 проводится аналогично, если вместо конуса К(b j ) использовать вектор v.

4.    Задача линейного программирования

Рассмотрим эффективный способ проверки критерия крайности точки из теоремы.

Вопрос о пересечении конусов К(at) и —К(bj) эквивалентен согласно равенству (14), существованию нетривиального, неотрицательного решения системы линейных однородных уравнений:

£ aiA(a)i + £ вкВ(bj), = 0П.(18)

l E 1:m              h E 1:m b

Чтобы выполнить ограничения, накладываемые на решения системы (18), добавим следующие условия:

Е ai + ^ вк = 1,(19)

l E 1:m      h E 1:m ^

al > 0, I G 1 : m, вк > 0, h G 1 : ть.(20)

Для проверки совместности системы (18)–(20) воспользуемся универсальным приемом [2]. Рассмотрим задачу линейного программирования

Y ^ min,

£ aiA(at)i + £ вкВ(bj)ь = 0», lE1:m               bE1:m^

£ a + £ в ь + Y = 1,                   (21)

l E 1:m      bEhm ^

a l 0, I G 1 : m, в ь >  0, h G 1 : т ь , y 0.

Заметим, что система ограничений задачи (21) совместна хотя бы для всех a l , в ь , равных нулю, и γ, равной единице. А также целевая функция ограничена снизу (неотрицательна на допустимом множестве), поэтому задача (21) имеет решение.

Если для найденного решения задачи (21) значение целевой функции γ равняется нулю, то система (18)-(20) совместна, то есть конусы К (a t ) и К (b j ) пересекаются.

Предложенный в теореме критерий идентификации крайних точек для суммы политопов использует напрямую конусы, порожденные складываемыми политопами. Известные работы в этой области, например, [3; 4], оперируют нормальными конусами к вышеописанным множествам. Здесь под нормальным конусом, порожденным множеством С , понимается множество

N(С ) = { ж G R | ( ж, с ) 6 0,с G С } .

Замечание 3. Критерий крайности точки a t + b 3 для множества conv A + conv В может быть сформулирован в виде:

a t + b j — крайняя О N(К (a t )) П N(К(b 3 )) = 0 .             (22)

Обоснование (22) подробно изложено, например, в диссертации [7].

В свою очередь, пересечение нормальных конусов в (22) проверяется решением следующей задачи линейного программирования [3, с. 1270]:

Л о ^ max,

( A(a ^ ) i , Л ) + Л о 6 0, I G 1 : т,

( B(b j ) ь , Л ) + Л о 6 0, h G 1:т ь ,                          (23)

Ло 6 1, где Л G R”, Л0 G R.

Несложно проверить, что задачи (21) и (23) являются двойственными.

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

ПРИМЕЧАНИЕ

  • 1    Исследование выполнено при финансовой поддержке гранта СПбГУ № 9.38.205.2014.

Список литературы Нахождение крайних точек суммы двух политопов

  • Лейхтвейс, К. Выпуклые множества/К. Лейхтвейс. -М.: Наука, 1985. -336 c.
  • Малоземов, В.Н. Модифицированный симплекс-метод/В.Н. Малоземов//Семинар «DHA & CAGD». Избранные доклады. 20 ноября 2010 г. -Электрон. текстовые дан. -Режим доступа: http://dha.spb.ru/reps10.shtml#1120. -Загл. с экрана.
  • Fukuda, K. From the zonotope construction to the Minkowski addition of convex polytopes/K. Fukuda//J. Symbolic Comput. -2004. -Vol. 38. -P. 1261-1272.
  • Gritzmann, P. Minkowski addition of polytopes: computational complexity and applications to Grobner bases/P. Gritzmann, B. Sturmfels//SIAM J. Discrete Math. -1993. -Vol. 6. -P. 246-269.
  • Preparata, F.P. Computational Geometry: An Introduction/F.P. Preparata, M.I. Shamos. -N. Y.: Springer, 1985. -398 p.
  • Rockafellar, R. Convex analysis/R. Rockafellar. -Princeton: Princeton University Press, 1970. -470 p.
  • Weibel, C. Minkowski sums of polytopes: Ph.D. Thesis/C. Weibel. -Lausanne: EPFL, 2007. -114 p.