Научная статья на тему 'Метод градиентного типа для решения задачи строгого h -отделения'

Метод градиентного типа для решения задачи строгого h -отделения Текст научной статьи по специальности «Математика»

CC BY
73
27
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
СТРОГОЕ H-ОТДЕЛЕНИЕ / МЕТОД ГРАДИЕНТНОГО ТИПА / H-POLYHEDRAL SEPARABILITY / GRADIENT TYPE METHOD

Аннотация научной статьи по математике, автор научной работы — Чернэуцану Екатерина Константиновна

Рассматривается метод градиентного типа для решения задачи строгого отделения выпуклой оболочки конечного множества A от конечного множества B с помощью h гиперплоскостей. Приведены примеры решения поставленной задачи при значениях параметра c = 0 и c = 1. Особое внимание уделено организации вычислений.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

The method of gradient type for solving the problem of stricth-polyhedral separability

The method of gradient type for solving the problem of strict separation of the convex hull of the finite set A from finite set B with h hyperplanes is considered. Examples of the solution of the problem for parameter values c = 0 and c = 1 are given. Particular attention is paid to organizationof calculations.

Текст научной работы на тему «Метод градиентного типа для решения задачи строгого h -отделения»

УДК 519.853.5

Вестник СПбГУ. Сер. 10, 2013, вып. 2

Е. К. Чернэуцану

МЕТОД ГРАДИЕНТНОГО ТИПА ДЛЯ РЕШЕНИЯ ЗАДАЧИ СТРОГОГО h-ОТДЕЛЕНИЯ*)

1. Пусть в пространстве R" заданы два конечных множества

A = iai}i=i и B = {bj }k=1.

В работах [1-5] рассматривалась задача о строгой отделимости множества B от выпуклой оболочки множества A с помощью h гиперплоскостей. Было установлено, что эта задача сводится к экстремальной задаче

1 m 1 k

F(G) := — ^ max [(«Да*) - 7s + с] + - ^ min [-(ws, 6^) + 7s + с] min. (1)

s G 1. h k s G1: h Cr

i=1 j=1

Здесь G - матрица размера h x (n +1) со строками

gs = (ws, Ys), s € 1: h;

[u]+ = max{0, u}; c > 0 - параметр.

Как показано в [3], задача (1) сводится к конечному числу задач линейного программирования. Количество таких задач равно hk. Оно может быть достаточно большим. Поэтому представляют интерес приближенные методы и прежде всего градиентный метод, предложенный в [1,4]. Напомним его описание. Введем обозначения

f(v,u) = (v,u) + c,

Ü), bj = ("ij"

Pi(G) = max f (gs, ai)] +, фj(G) = min f (gs, bj)] +.

sG1:h + sG1:h +

Тогда задача (1) перепишется в более компактном виде

1 i 1 k

F:= + k^{G) min- (2)

i=1 j=1

Функции от матриц pi(G) и фj(G) дифференцируемы по направлениям (в качестве которых выступают также матрицы). Чтобы записать формулы для производных по направлению pi (G,V) и фj (G,V), введем дополнительные обозначения

pi(G) = max f (gs, ai), фj(G) = min f (gs,bj),

Чернэуцану Екатерина Константиновна — аспирант, Санкт-Петербургский государственный университет; e-mail: katerinache@yandex.ru.

*) Работа выполнена при финансовой поддержке Российского фонда фундаментальных исследований (проект № 12-01-00752-a). © Е. К. Чернэуцану, 2013

так что

Положим

Vi(G) = [&(G)] +, Фз (G) = [Фз (G)] +.

Ri(G) = {s е 1: h | f (gs,äi) = ä(G)}, Rj(G) = {s е 1: h | f (gs,bj) = Фз(G)}.

Тогда (см. [7, с. 71])

vi(G,V) := lim

p(G + tV) - pi (G)

vs£ Ri(G)

{vs, ai),

если <pi (G) > 0;

= ^ maxseAi(G) [(vs, ai)] +, если ¡pi(G) = 0;

если ¡pi(G) < 0.

Поясним случай pi(G) = 0. При малых t > 0 имеем

max f (gs + tvs, ai) = max f (gs + tvs, ai), sel:h se Ri(G)

поэтому

= max

se Ri(G)

<Pi(G + tV) - pi(G)

max ■

se1:h

f (gs + tvs, ai)] _

f (gs + tvs, ai)

t

= max

+ se Ri(G)

f (gs + tvs, ai) - f (gs,t

t

= max [(vs, ai)] +.

+ se Ri(G) +

Мы воспользовались тем, что ](да, щ) = 0 при всех в € Ri(G). Формула для производной по направлению получается даже без предельного перехода по Ь ^ +0. Аналогично

(тЧей,(О) ('"а,Ьз)> если фз(G) > 0;

) = [ т^ей,(О) |>аА'>] + если фз(G) = 0;

[0, если фз(G) < 0.

Согласно (2)

1 m 1 k

(3)

i=i j=i Отметим, что F'(G,tV) = tF'(G, V) при t > 0.

Переходим к градиентному методу. Возьмем начальное приближение Go. Пусть уже имеется k-тое приближение Gk. Решаем вспомогательную задачу

F'(Gk,V) ^ min,

у еп

где О - множество матриц V = {-ys(a)}, элементы которых удовлетворяют неравенствам

|vs(a)| < K, s e 1: h, a £ 1: n + 1. Задача (3) сводится к небольшому числу задач линейного программирования. Она имеет решение (в силу ограниченности множества О). Обозначим его Vk. Если

F'(Gk,Vk) > 0,

t

t

t

то О и - точка локального минимума функции Г (О). В противном случае матрица Уи является направлением убывания функции Г (О) из точки О и. Находим точку минимума функции Г (О и + ЬУи) при Ь > 0. Обозначим ее Ьи. Полагаем Ои+1 = Ои + ЬиУи, после чего вычисления повторяются. Описание принципиальной схемы градиентного метода для решения задачи (1) завершено.

С помощью градиентного метода изучим, в частности, влияние параметра с на качество строгого ^-отделения.

2. Рассмотрим задачу строгого 3-отделения при двух значениях параметра с. Основное внимание будем уделять организации вычислений.

Пусть на плоскости заданы множества А и В, состоящие соответственно из точек

ах = (-3, 0), а2 = (1, 3), аз = (2, -1), аА = (0, 1);

Ь1 = (-2, 2), Ъ2 = (2, 3), Ьз = (4,1), ЪА = (-1, -2).

Очевидно, что (А) П В = 0 (рис. 1).

Ьх

О

Ь2 О

Ьз

О

Ь4

О

Рис. 1. Задача строгого 3-отделения

/

Ьх О < а Ь2 • О > Ь3 О

Ь4 О • ■

Рис. 2. Начальное приближение Со

Сначала будем решать задачу строгого 3-отделения при с = 0. Возьмем начальное приближение (рис. 2)

'1 0 3^

Go

Заполним табл. 1 и 2.

0 1 i0 -1 41

Таблица 1. Вычисление функций <pi(G0)

Таблица 2. Вычисление функций фj (Go)

г 1 2 3 4

f(g^äi) -6 -2 -1 -3

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

-4 -1 -5 -3

Дйо>«;) -4 -7 -3 -5

-4 -1 -1 -3

Ri(Go) {2,3} {2} {1} {1,2}

Vi(G о) 0 0 0 0

3 1 2 3 4

ftä.bj) 5 1 -1 4

/(sÜA) 2 1 3 6

/(so АО 6 7 5 2

ФЛОо) 2 1 -1 2

ßj(Go) {2} {1, 2} {1} {3}

i>j{Go) 2 1 0 2

Последние строки табл. 1 и 2 позволяют вычислить значение целевой функции: F(G0) = f.

Переходим к вычислению производных по направлению. Имеем

(G0, V) = 0 при всех i £ 1:4, Фl (Go, V) = {v2,bi) = 2v2(1) - 2v2(2) + v2(3),

Ф2(G0, V) = min {vs,b2) = min {-2v1(1) - 3v1(2) + v1(3), -2v2(1) - 3v2(2) + v2(3)}, se{i, 2} se{i, 2}

Ф3(Go, V) = 0,

Ф4(Go, V) = {v3, b4) = v3(1) + 2v3(2) + v3(3).

Производная по направлению V функции F(G) при G = Go в случае Ф2 (Go,V) = -2vi(1) - 3vi(2) + vi(3) принимает вид

Решаем задачу линейного программирования

F'(Go, V) ^ min, (4)

у еп

где в качестве О возьмем множество (3 х 3)-матриц V, все элементы которых по модулю не превосходят 10 (K = 10). Очевидно, что решением задачи (4) является матрица

10 10 -10

Vo = (-10 10 -10

10 10 10

при этом Г'(С^0, У0) = -37.5.

Теперь решим аналогичную задачу при G = G0 в случае ф2^0,У) = —2-2(1) — 3-у2 (2) + -2(3). Производная по направлению У функции Гпринимает вид

о, 1/) = -У(2) + ±«2(3) + У(1) + ±«3(2) + ±«3(3).

Решаем задачу линейного программирования (4). Решением задачи является матрица

/ 0 0 0 \ Vo = ( 0 10 -10); 10 -10 -10/

при этом F'(G0, V0) = —27.5.

Таким образом, получили, что в случае Ф2(G0, V) = —2v1(1) — 3v1(2) + v1(3) решение Vo - направление наискорейшего убывания функции F (G) при G = Go. Минимум функции F (Go + tVo) на луче t > 0 достигается при to = 0.05, поэтому

/ 1.5 0.5 2.5\

G1 := G0 + t0V0 = ( —0.5 1.5 3.5 )

0.5 —1.5 3.5/

(рис. 3).

Рис. 3. Матрица Ох

Повторяем процесс (табл. 3 и 4).

Таблица 3. Вычисление Таблица 4. Вычисление

функций ^(Ох) функций ^фj (Ох)

г 1 2 3 4

f(9i,ài) -7 0.5 0 -2

f(g'Î,ài) -2 0.5 -6 -2

f{g'bài) -2 -8.5 -3 -5

Фг(С l) -2 0.5 0 -2

RiiGx) {2, 3} {1. 2} {1} {1. 2}

Vi{Gi) 0 0.5 0 0

j 1 2 3 4

fbi.bj) 4.5 -2 -4 5

ftii.bj) -0.5 0 4 6

fialbj) 5.5 9 7 0

^■(Gi) -0.5 -2 -4 0

Rj{G x) {2} {1} {1} {3}

i) 0 0 0 0

Очевидно, что F(Gi) = 0.125. Переходим к вычислению производных по направлению. Имеем

p'i(G1,V) = 0 при i = 1, 4, (Gi, V) = max(vs, а2),

^3(Gi,V)= [(v1, a3)]+, ^(Gi, V) = 0 при j = 1, 2, 3, (Gi,V)= [(v3, b4)]+.

Производная по направлению V функции F(G)

при G — Gi принимает вид

F'(GUV) = i{maxK,a2)+ [<«1,a3>]+ + [{v3M)] + }.

Задача (4) при K =10 сводится к задаче линейного программирования

\{ti + t2 + ¿з } —► min

при ограничениях

Уя(а)| < 10, а € 1 : 3, в € 1:3;

¿1 > {у1, а2), ¿1 > {у2, а2), Ь2 > {у1, аз),

Ьз > {V3, Ъ4), ¿2 > 0, Ьз > 0.

Для решения последней задачи использовалась программа из МАТЬАВ [6]. Получили матрицу

/ -10 -10 10 V1 = I -10 -10 10 у—5.43 -7.1 -5.43у

при этом F'^1, VI) = -12.5. Минимум функции F+ ¿VI) на луче Ь > 0 достигается при ¿1 = 0.01, поэтому

/ 1.4 0.4 2.6

G2 := G1 + Ь1У1 = I -0.6 1.4 3.6

у-0.5543 -1.5709 3.4457/

и F(G2) =0.

Учитывая, что G2 - подходящая матрица (см. [5]), заключаем, что G2 - решение рассматриваемой задачи (рис. 4).

м \

Ь\ О

Ь2

. + ' о

Ьз

\ \

\ >

\

\

\ \

\

\

- \

^ \

\

\

Рис. 4- Матрица 02 - решение задачи при с = 0

3. Изменим в данной задаче значение параметра с. Вместо с = 0 положим с = В качестве начального приближения возьмем ту же матрицу Со. Заполним табл. 5 и 6.

Таблица 5. Вычисление функций 1р^Оо)

Таблица 6. Вычисление функций фз (О0)

г 1 2 3 4

/(йп.аг) -5.5 -1.5 -0.5 -2.5

ДйоА) -3.5 -0.5 -4.5 -2.5

Дй^А) -3.5 -6.5 -2.5 -4.5

-3.5 -0.5 -0.5 -2.5

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Яг(Со) {2,3} {2} {1} {1,2}

¥>г(С0) 0 0 0 0

3 1 2 3 4

ДЙ^А) 5.5 1.5 -0.5 4.5

Дао А) 2.5 1.5 3.5 6.5

/(яоА) 6.5 7.5 5.5 2.5

ФЛСо) 2.5 1.5 -0.5 2.5

Щ{С0) {2} {1, 2} {1} {3}

^■(Со) 2.5 1.5 0 2.5

По последним строкам табл. 5 и 6 находим значение целевой функции: Г (Со) = 1.625. Далее имеем

/ 1.5 0.5 2.5\ С1 = I -0.5 1.5 3.5 I. у—0.5 -1.5 3.5/

Непосредственно проверяется, что Г(С1) = 0.5 (рис. 5).

Повторяем процесс, и на следующем шаге получаем матрицу

/ 1.2 0.3 2.8\ С2 = I —0.8 1.2 3.5 I; \— 0.8 —1.8 3.2/

м

Рис. 5. Подходящая матрица Gi

h у

О

\ ъ2

\ О \ \ \ \ \ \ \ \ \

Ьз О

Ь4

О

Рис. 6. Матрица G2 - решение задачи при с = |

при этом F(G2) = 0 (рис. 6). Значит, подходящая матрица G2 осуществляет строгое 3-отделение.

Литература

1. Astorino A., Gaudioso M. Polyhedral separability througt successive LP // JOTA. 2002. Vol. 112, N 2. P. 265-293.

2. Малозёмов В. Н., Чернэуцану Е. К. Строгая h-отделимость двух множеств // Семинар по дискретному гармоническому анализу и геометрическому моделированию (DHA & CAGD): избр. докл. 18 декабря 2010 г. 6 с. (URL: http://dha.spb.ru/PDF/hSeparability.pdf).

3. Чернэуцану Е. К. Строгая ^-отделимость и линейное программирование // Семинар по дискретному гармоническому анализу и геометрическому моделированию (DHA & CAGD): избр. докл. 29 января 2011 г. 7 с. (URL: http://dha.spb.ru/PDF/hSeparabilityLP.pdf).

4. Малозёмов В. Н., Чернэуцану Е. К. Численный метод строгого ^-отделения // Семинар по дискретному гармоническому анализу и геометрическому моделированию (DHA & CAGD): избр. докл. 15 октября 2011 г. 12 с. (URL: http://dha.spb.ru/PDF/hSepNumerical.pdf).

5. Чернэуцану Е. К. Численные эксперименты по строгой ^-отделимости // Семинар по дискретному гармоническому анализу и геометрическому моделированию (DHA & CAGD): избр. докл. 17 декабря 2011 г. 12 с. (URL: http://dha.spb.ru/PDF/hSepEx.pdf).

6. Демьянов В. Ф., Малозёмов В. Н. Введение в минимакс. М.: Наука, 1972. 368 с.

7. Сергеев А. Н., Соловьёва Н. А., Чернэуцану Е. К. Решение задач линейного программирования в среде MATLAB // Семинар по дискретному гармоническому анализу и геометрическому моделированию (DHA & CAGD): Программные реализации. 12 февраля 2011 г. 9 с. (URL: http://dha.spb.ru/programs.shtml).

Статья рекомендована к печати проф. Н. В. Егоровым. Статья поступила в редакцию 20 декабря 2012 г.

i Надоели баннеры? Вы всегда можете отключить рекламу.