Не улучшаемый алгоритм условной оптимизации монотонных псевдобулевых функций
Антамошкин А.Н. (пи 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, в случае,
когда все крайние точки 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.