Научная статья на тему 'Не улучшаемый алгоритм условной оптимизации  монотонных псевдобулевых функций'

Не улучшаемый алгоритм условной оптимизации монотонных псевдобулевых функций Текст научной статьи по специальности «Математика»

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

Аннотация научной статьи по математике, автор научной работы — Антамошкин А. Н., Масич И. С.

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

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

Unimprovable algorithm for monotone pseudoboolean functions conditional optimization

The essentialy unimprovable in calculation number exact searching algorithms of conditional optimization of monotone pseudoboolean functions with monotone functions of restrictio

Текст научной работы на тему «Не улучшаемый алгоритм условной оптимизации монотонных псевдобулевых функций»

Не улучшаемый алгоритм условной оптимизации монотонных псевдобулевых функций

Антамошкин А.Н. (пи 8иу|)!@луауе.к18.1и)(1), Масич И.С.(2)

(1) Научно-исследовательский институт систем управления, волновых процессов и технологий, (2) Сибирский государственный аэрокосмический университет

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

Для некоторых конкретных классов задач безусловной псевдобулевой оптимизации разработаны точные регулярные алгоритмы, в том числе и неулучшаемые [1]. В частности, точное определение минимума произвольной строго монотонной унимодальной псевдобулевой функции требует вычисления значений функции в (п + 1)-й точке

пространства В2 .

Но на практике редко встречаются задачи без ограничений. Существующие в настоящее время методы решения задач с ограничениями либо не имеют эффективных оценок трудоемкости (исключающих полный перебор), либо не имеют априорных оценок точности. Рассмотрим задачу вида

С(X) ^ max

< ХеБ"2 _, (1)

(X) < И], ] = 1, т

где С(X) и Л}- (X) - псевдобулевые функции, обладающие некоторыми конструктивными

свойствами (модальность, монотонность и т.п.).

Задача (1) является ЖР-полной задачей дискретной оптимизации [2], т.е. для ее решения нельзя построить полиномиальный алгоритм.

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

С(X) ^ max

XеВП . (2)

Л^) < И

Введем необходимые понятия [1].

Определение 1. Точки X 1,X2 е В2 называются к-соседними, если они отличаются значением к координат, к = 1,п .

Определение 2. Множество Ok(X), к = 0,п, всех точек ВП, к-соседних к точке X, называется к-м уровнем точки X .

Определение 3. Точку X* е B2n, для которой f(X*) < f(X),VX е О1(Х*), назовем локальным минимумом псевдобулевой функции f.

Определение 4. Псевдобулевую функцию, имеющую только один локальный минимум,

будем называть унимодальной на В? функцией.

Определение 5. Унимодальную функцию f назовем монотонной на В?, если УХк е Ок(Х*),к = Щ : ДХк-1) < ДХк ), УХк-1 е Ок-1 (X*) п О1(Хк ) .

Введем определение подкуба на пространстве булевых переменных.

Определение 6. Множество точек Ж(Х0,Х1) = {Х0,Х1,...,Х1} еВ? назовем путем

между точками Х0 и Х1, если V г = 1,...,I точка Х' является соседней к Х'-1.

Определение 7. Путь Ж(Х0, Х1) е В2? между к - соседними точками Х и Х назовем кратчайшим, если I = к .

Определение 8. УХ, У е В? объединение всех кратчайших путей Ж(Х, У) будем называть подкубом В? и обозначать К (Х, У) .

Проведем исследование свойств множества допустимых решений задачи (2).

Определение 9. Точка У е А является граничной точкой множества А, если существует Х е О(У), для которой Х £ А.

Определение 10. Точку У е О(Х0) п А будем называть крайней точкой множества А с базовой точкой Х0 е Б , если УХ е О (У) П Ог+1(Х0) выполняется Х £ А.

Теорема 1. Если целевая функция является монотонной унимодальной функцией, а ограничение активно, то оптимальным решением задачи будет точка, принадлежащая подмножеству крайних точек множества допустимых решений.

Доказательство. Если бы решение задачи Х* не являлось крайней точкой, то нашлась хотя бы одна точка Х' е О1(Х*) из области допустимых решений, принадлежащая более высокому уровню точки Х0, для которой С(Х') < С(Х*), что противоречит условию монотонности функции. ■

Теорема 2. Если функция ограничения в условной задаче (2) является унимодальной псевдобулевой функцией, то множество допустимых решений £ задачи представляет собой связное множество.

Доказательство. Если функция ограничения А(Х) унимодальна, то для любой допустимой точки Х е В?: А( Х) < Н (Х е 8 ) существует по крайней мере один путь убывания Жг (Х, Х *), поэтому между любыми двумя точками допустимой области УХ, У е 8 существует путь Ж(Х, У) е 8 . ■

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

условной псевдобулевой оптимизации ^ < 5тзх = , где

п ТЭ

- целая часть числа —. В

2

случае ^ = 5тзх все крайние точки расположены на -ом уровне точки Х при четном ? и на ? -1 . ? +1 .

—2—ом (или —2—ом) уровне при нечетном

Доказательство. Пусть две крайние точки Х1 и Х 2 принадлежат разным уровням точки Х0: Х1 е Ок1 (Х0) , Х2 е Ок2 (Х0), 0 < к1 < к2 < ? . (Если крайняя точка принадлежит уровню

0 или n, то больше крайних точек не существует.) Из определений 8 и 10 следует, что точки подмножества Q = K(X0, X1) uK(X1, XuK(X0, X2) uK(X2, Xне могут быть крайними. Введем величину gk = card(Ok(X0)nQ). На k-ом уровне может быть не более Ck -gk крайних точек,

gk >

maxlCt;,C^},ki < k < k2, max{Cki, C£},0 < k < k^ maxjCn-kk1, C££}, k2 < k < n.

Так как gk > 2, то выполняется Ск - gk + 2 < Ск, 0 < к < п, где Сп - gk + 2 - общее число крайних точек, максимально возможное в этом случае, СЩ - число крайних точек, если

бы они все принадлежали k-му уровню. Из этого и из Cn = max C'n следует, что

максимально возможное число крайних точек ^тзх = Сп ]. ■

Далее рассмотрим свойства целевых функций и функций ограничений, принадлежащих разным классам псевдобулевых функций. Эти свойства необходимы для построения регулярных процедур оптимизации.

Свойство 1. Если функция / монотонно возрастает от X0 е В2п, то для любой точки У е В2!, выполняется:

a) /(X) < /(У) для всех X е К(X0, У);

b) / (X) > / (У) для всех X е К (У, X1) .

Свойства функций ограничений.

1. Унимодальная функция ограничения.

Функция ограничения имеет единственный минимум в точке X0 е В2п. Обозначим

X1 = X е Оп(X0).

Согласно теореме 2 множество допустимых точек в этом случае является связным множеством.

Свойство 2. Из леммы 1 следует, что если функция Л^) унимодальна и на уровне Ок (X0) нет допустимых точек, то их нет и на уровне О1 (X0) , где I > к .

Следствие 1. Если функция Л(X) унимодальна и на уровне Ок (X0) все точки являются недопустимыми или крайними, то на уровне О1 (X0) , где I > к , нет допустимых точек.

2. Монотонная функция ограничения

Функция ограничения монотонно возрастает от точки X0 е В2, . Свойство 3.

a) Если функция Л(X) монотонна и точка У е В2, является допустимой (удовлетворяет ограничению Л (У) < И ), то любая точка X е К (X0, У) является также допустимой.

b) Если функция Л(X) монотонна и точка У е В2, является недопустимой (не удовлетворяет ограничению Л(У) < И ), то любая точка X е К (У, X1), является также недопустимой.

n

n

Следствие 2. Если функция А(Х) монотонна и точка У е В? является крайней точкой, то любая точка Х е К (Х0, У) не является крайней точкой, а также любая точка Х е К (У, Х не является крайней точкой (т.е. при поиске остальных крайних точек подкубы К (Х0, У) и К (У, Хможно исключить из рассмотрения).

Следствие 3. Если функция А(Х) монотонна и точки Х1 е Ок1 (Х0) и Х2 е Ок2 (Х0),

к1 < к2, являются граничными точками, то на любом уровне Ок (Х0), к1 < к < к2, существует

хотя бы одна граничная точка.

Свойства целевых функций.

1. Унимодальная целевая функция.

Целевая функция имеет единственный максимум в точке Х1 = Х е Оп (Х0) .

Оптимальное решение принадлежит подмножеству граничных точек.

Свойство 4. Если функция С(Х) унимодальна и решение, дающее наибольшее

значение функции С (Х) на уровне Ок (Х0), является допустимым, то на уровне О1 (Х0), где I < к, нет оптимального решения.

2. Монотонная целевая функция

Целевая функция монотонно возрастает от точки Х0 е В? .

Согласно теореме 1 оптимальное решение принадлежит подмножеству крайних точек. Свойство 5. Из свойства 1 следует, что если функция С(Х) монотонна и решение

У е В? является допустимым (удовлетворяет ограничению А (У) < Н), то в подкубе К (Х0, У) нет оптимального решения.

Для случая, когда целевая функция С(Х) и функция ограничения А(Х) монотонно возрастают от Х0 е В?, воспользуемся свойствами 3, 5 и следствием 2. Оптимальное решение принадлежит подмножеству крайних точек множества допустимых решений. Если решение У е В? является крайней точкой, то в подкубах К (Х0, У) и К (У, Хкрайних точек нет, и их можно исключить из рассмотрения при поиске остальных крайних точек.

С учетом этих свойств построен регулярный алгоритм нахождения точного решения поставленной задачи. Алгоритм 1.

1. Полагаем к = 1, 0 = 0, ^ = 0, Х0 = Х0. Если А( Х0) > Н , то задача не имеет допустимого решения.

2. Выбираем Хк+1 е (ОДХк ) п Ок+1(Х0))\ О, для которого А(Хк+1) < Н . Если для

какого-либо Х е О1(Хк ) п Ок+1(Х0) не выполняется А(Х) < Н , то

0 = 0и К (Х, Х!).

3. Если такой Хк+1 существует, то к = к +1 и на 2.

4. ^ = ^ +1, У, = Хк, 0 = 0и К (Х0, ) и КУ, Х1).

5. Выбираем Х е (Ок(Х0)пО2т(У!1 ))\0 таким образом, чтобы т было наибольшим,

1 < т < тт{к, ? - к}. Если таких точек нет, то на 11.

6. Если А(Х) > Н , то 0 = 0иК(Х,Х!) и выбираем Х'е (О1(Х) пОк-1(Х0))\0, иначе на 8.

7. Х = Х', к = к -1. Если А(Х) > Н , то на 6.

8. Если A(X) < H , то выбираем X' е (O1 (X) n Ok+1 (X0)) \ Q, для которого A(X) < H .

Если таких точек нет, то на 10.

9. X = X', k = k +1, на 8.

10. ^ = ^ +1, Ys = X, Q = QuK(X0,Ys)uK(Ys,X!), на 5.

11. Определяем оптимальное решение X* из условия C(X*) = max C(Yi) .

i=1,s

Оценим трудоемкость алгоритма.

Теорема 3. Нахождение решения задачи условной псевдобулевой оптимизации с целевой функцией и ограничением, монотонно возрастающими от точки X0 е B2n, в случае,

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

когда все крайние точки Ys принадлежат Ok(X0), s = 1,Ckn , требует просмотра Tk точек B2,,

Tk = k + Ckn + Ckn +1.

Доказательство. Для определения первой крайней точки Y1 необходимо вычислить значение функции A(X) в k+1 точках ВП (шаги 1-5). Для определения остальных крайних точек Ys, s = 2, card(Ok (X0)), необходимо просмотреть все эти точки и все точки уровня Ok+1( X0) (шаги 6-12). Таким образом, трудоемкость алгоритма в этом случае Tk = k +1 + card (Ok (X0)) -1 + card (Ok+1 (X0)) = k + Ckn + Ckn +1. ■ Следствие 5. Оценка сверху трудоемкости алгоритма

T < max Tk = TL 2 J =

0<k <n

n 1+1

+Cn2 J + C2 J .

Теорема 4. Для определения точного решения задачи условной псевдобулевой оптимизации с целевой функцией и ограничением, монотонно возрастающими от точки X0 е В2п, в худшем случае (при максимально возможном количестве крайних точек)

требуется просмотреть не менее C + C J точек В

2

Доказательство. Из леммы 1 следует, что максимально возможное число крайних точек

для рассматриваемой задачи равно СП2J. Для определения точного решения необходимо просмотреть все крайние точки, т.к. заведомо неизвестно, в какой из них целевая функция принимает большее значение. Кроме того, для удостоверения, что все точки У}- е Огп(X0),

2 I

] = 1, СП 1, являются крайними, необходимо просмотреть все точки Ог т (X ). Таким

образом, минимально возможная трудоемкость точного алгоритма в худшем случае

t=C f U Cnf J+1. ■

Замечание 1. В соответствии со следствием 5 и теоремой 4 алгоритм решения задачи условной псевдобулевой оптимизации с монотонными функциями является существенно не улучшаемым.

Вернемся к постановке задачи (1).

Введем характеристическую функцию системы неравенств

n

n

n 1+1

n

п

n

2

|о, A (X) < H , V/ = cm ф(Х) = j ' /К J /г J ' . [1, в противном случае

При Ф( X) = 0 решение X удовлетворяет системе ограничений, а при Ф( X) = l решение

X не удовлетворяет хотя бы одному из неравенств.

Теорема 5. Если все функции Aj (X) системы ограничений являются монотонно

возрастающими от точки X0, то и функция Ф( X) является монотонной.

Доказательство. Пусть Ф(X1) = l, X1 е Ok(X0), к = 0,n -1. Из условия монотонности

функций A/ (X) следует, что A/ (X) > A/ (X1) VX е O1 (X1) n Ok+1 (X0), поэтому Ф(X) = 1

VX е Oi(Xi) nOk+i(X0) . ^

Пусть Ф(X2) = 0, X2 е Ok(X0), к = 1,n . Из условия монотонности функций Aj(X)

следует, что A/ (X) < A/ (X2) VX е O1(X2) n Ok-1(X0), поэтому Ф(X) = 0

VX е Oi(X2)nOk-i(X0).

Из этого, с учетом определения 5 следует, что функция Ф( X) монотонно возрастает от

v0

точки X . ■

Таким образом, вместо системы неравенств можно использовать неравенство Ф(X) < 0 и решать задачу соответствующим алгоритмом.

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

Литература

1. Антамошкин А.Н. Регулярная оптимизация псевдобулевых функций. - Красноярск: Изд-во Красноярского ун-та, 1989, 284 с.

2. Пападимитриу Х., Стайглиц К. Комбинаторная оптимизация. Алгоритмы и сложность: Пер. с англ. - М.: Мир, 1985, 512 с.

3. Hammer P.L., Peled U.N. On the Maximization of a Pseudo-Boolean Function. Journal of the Association for Computing Machinery, Vol. 19, No. 2, April 1972, pp. 265-282.

4. Hammer (Ivanescu) P.L., Rudeanu S. Boolean Methods in Operations Research and Related Areas. - Berlin: Springer-Verlag, New York: Heidelberg, 1968. - 310 p.

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