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

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

Антамошкин А.Н.

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

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

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

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

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

С(X) ^ max

< ХеБ"2 _,

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

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

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

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

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

С(X) ^ max

XеВП .

Л^) < И

Введем необходимые понятия [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, в случае,

когда все крайние точки 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) . ^

Пусть Ф

следует, что 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.