Гриди-алгоритмы и локальный поиск  для условной псевдобулевой оптимизации

Гриди-алгоритмы и локальный поиск для условной псевдобулевой оптимизации

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

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

технологий, (2) Сибирский государственный аэрокосмический университет

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

Известно несколько эффективных схем для решения задач псевдобулевой оптимизации, в которых целевая функция и ограничения заданы аналитическими выражениями. Это методы линеаризации [20, 21, 24], алгебраические методы [18, 19, 20, 21, 23, 24] (наиболее известный - базовый алгоритм Хаммера [20, 24]), различные методы с применением релаксации [12, 27]. Но в практических задачах очень часто целевая функция, а иногда и ограничения заданы алгоритмически или наблюдаются на выходе реальной системы [17]. Именно для таких случаев разрабатываются поисковые методы [14].

Все поисковые алгоритмы оптимизации подразделяются на два класса: детерминированные (регулярные) и рандомизированные (случайные).

В [1, 2] была проведена классификация псевдобулевых функций и построены не улучшаемые на конкретных классах задач регулярные алгоритмы безусловной псевдобулевой оптимизации. В основу большинства этих алгоритмов был положен локальный поиск как наиболее универсальный метод дискретной оптимизации. Были разработаны регулярные процедуры для некоторых классов задач условной псевдобулевой оптимизации [3, 5, 8, 26].

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

В дискретной оптимизации для функций, заданных алгоритмически, широкое распространение получили случайный поиск [1, 6, 10, 12, 15, 28] и адаптивные поисковые процедуры [16, 17] - эволюционные и генетические алгоритмы, алгоритм имитации отжига.

Многие проблемы в экономике, банковском деле, промышленности, а также проблемы управления сложными техническими объектами приводят к необходимости решения задач условной оптимизации с булевыми переменными. В [7] рассматривается проблема автоматизации планирования товарного ассортимента торговых предприятий, которая сводится к решению многокритериальной задачи псевдобулевой оптимизации с ограничениями. Задача нахождения набора кредитных заявок (задача формирования кредитного портфеля банка) в [6] решается как поток задач условной оптимизации псевдобулевых функций. Большое внимание в последнее время уделяется задаче оптимального проектирования структуры отказоустойчивых систем управления с использованием подхода мультиверсионного программирования [9, 12, 13, 25, 26]. Для ее решения построен ряд оптимизационных моделей, в которых максимизируется критерий надежности с учетом стоимостного ограничения. Структура определяется набором булевых переменных, по которым и происходит максимизация критерия. В основном для решения таких задач нашли применение алгоритмы случайного поиска, например,

алгоритмы схемы МИВЕР [1, 6, 12]. В некоторых работах [9, 12, 26] были предприняты попытки построения регулярных алгоритмов.

В [17] предлагается метод обобщенного локального поиска для решения задач оптимального планирования и проектирования в управлении сложными системами. Описываются алгоритмы локального и глобального поиска в пространстве булевых и дискретных переменных, приводятся аналитические оценки трудоемкости алгоритмов.

Настоящая работа построению алгоритмов приближенного решения задач условной псевдобулевой оптимизации. Для этого исследуются свойства пространства булевых переменных и выявляются закономерности поведения псевдобулевых функций в этом пространстве. Ниже описываются две схемы нахождения субоптимального решения задачи - «пожирающие» (гриди) алгоритмы и локальная оптимизация.

Постановка задачи условной псевдобулевой оптимизации.

Необходимые определения и свойства

Формальная постановка задачи условной псевдобулевой оптимизации выглядит следующим образом:

f (X) ^ extr , где f : £ ^ R1, а £ е В2п - некоторая подобласть пространства булевых переменных, определяемая заданной системой ограничений.

Множество всех точек ВП можно представить в виде последовательности уровней Ок (X) (множество точек, отличающихся от точки X значением к координат), к = 0, п, какой-либо точки Xе ВП . Уровень Ок (X) состоит из СП, точек.

Из множества псевдобулевых функций выделяются следующие классы по свойствам [1, 2].

Унимодальная на ВП функция - псевдобулевая функция f, имеющая только один локальный минимум - точку X* е В2п, для которой f (X*) < f (X), VX е О1 (X*).

Монотонная на ВП функция - унимодальная функция f , значение которой возрастает при удалении от точки минимума - VXk е Ок (X *), к = 1, п : /(X1'-1) < /(X1'), VXk-1 е Ок- (X *) о Ог(X1').

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

При рассмотрении алгоритмов понадобится понятие подкуба К (X, У) в пространстве В2п - объединение всех кратчайших путей между точками X и У. Точка 2 е В2П принадлежит подкубу К(X, У), если zi = х{ для V/: х{ = yi.

Мы рассматриваем задачу вида

С(X) ^ max

* ]СеВ"2 _

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

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

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

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

Гриди-алгоритмы

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

Пусть > 0 - оптимальное значение целевой функции, полученное из гриди эвристики, а /0 > 0 - истинное оптимальное значение, тогда выполняется следующее соотношение:

< 0 + ё для минимизации; fg > — /0 - ё для максимизации,

г

где г > 1 зависит от данных задачи, и ё ^ 0 при увеличении размерности задачи.

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

В случае первой стратегии алгоритм начинает поиск из точки X0, и на каждом шаге

С

находится допустимая точка X. следующего уровня с наибольшим отношением -.

А

Как только найденная точка окажется граничной, она принимается за решение задачи.

Гриди-алгоритм 1 1. X = X0, I = 1.

2. Вычисляем C(X.) и A(X.) для Xj е O1(X) п Ог (X0), j = 1, n - i +1.

3. Если нет Xj, для которых A(Xj) < B, то X* = X - решение задачи.

C

4. Из тех Xj, для которых A(Xj) < B, находим X = arg max-.

Xj A

5. i = i +1, на 2.

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

1 0 C (Xf) X е On (X ), на каждом шаге находится точка X. с наибольшим отношением -.

n j A

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

Гриди-алгоритм 2

1. X = X \ i = 1.

2. Вычисляем C(X}) и A(X}) для X} е Oj (X) п Ог (X1) , j = 1,n - i +1.

3. Если есть Xj, для которых A(Xj) < B, то выбираем X* из условия C (X *) = max C (X,.), X * - решение задачи.

Xj :A(xj )<B j

C

4. Находим X = arg max-—.

a

5. i = i +1, на 2.

Оба гриди-алгоритма являются полиномиальными, нетрудно показать, что их

г < •) n(n + 1) трудоемкость T < ^ (n - /) =-.

i=0 2

Локальный поиск

Алгоритмы локальной оптимизации строятся по следующему принципу. Выбирается некоторое исходное допустимое решение. В анализируемом множестве решений вводится понятие близости (задается окрестность точки) и находится локальный минимум (максимум). Методы локальной оптимизации довольно успешно применяются при решении задач безусловной псевдобулевой оптимизации [17] и задач линейного программирования с булевыми переменными [11]. Основные теоретические аспекты локального поиска описаны в [11].

Пусть дана задача оптимизации (ДД где Д- допустимое множество и f - целевая функция. Выбирается система окрестностей N : Д ^ 2Д, которая просматривается для улучшения решения в точке X е Д с помощью процедуры улучшения

Общий алгоритм локального поиска:

1. Выбирается X е Д .

2. Выполняется IMP(X).

3. Если IMP(X)="no", то X- локально оптимальное решение.

4. X=IMP(X), на 2.

Один из основных вопросов, которые возникают при использовании локального поиска в задачах дискретной оптимизации - это выбор системы окрестностей. При псевдобулевой оптимизации в качестве окрестности берется, как правило, первый уровень текущей точки поиска. Использование локального поиска с системой окрестностей, включающей 2-х соседние точки, рассмотрено в [17].

Другой вопрос: каким образом производить поиск по окрестности? Два основных способа - это наискорейший спуск, при котором производится поиск по всей окрестности и выбирается наилучшее решение, и первое улучшение, при котором выгодное изменение происходит сразу же, как только оно найдено. Лишние затраты времени на реализацию наискорейшего спуска часто бывают не оправданы (но это не во всех ситуациях). Большое преимущество метода первого улучшения состоит в том, что только по заключительной окрестности заведомо приходится производить полный поиск, поэтому локальные оптимумы можно найти быстрее. В частности, для безусловной оптимизации произвольных псевдобулевых функции был получен следующий экспериментальный результат: при использовании первого улучшения в большинстве случаев (во всех встреченных) требуется меньшее число вычислений целевой функции, чем при наискорейшем спуске.

Для оптимизации псевдобулевых функций известен [2] следующий алгоритм локального поиска, реализующий идею наискорейшего спуска, по системе окрестностей, представляющей собой набор первых уровней текущих точек поиска.

Алгоритм «наискорейший спуск»

1. Положить г=0, выбрать X'' е ВП произвольно и вычислить f (X'').

2. Последовательной заменой компонент вектора X'' на противоположные

определить все точки X' е O1(Xr) , i = 1,2,...,n.

3. Для всех X' е O1(Xr)\ O1(Xr-2) (при r<0 O1(Xr) = 0) вычислить f (X'). Если f (Xr) > f (X') Vi = 1,2,...,n, тоX* = Xr, иначе - идти к 4.

4. Положить r=r+1, определить Xr из условия f (Xr) = max f (X1) и идти к 2.

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

XieO1

Алгоритм «локальный поиск с переходом по первому улучшению»

1. Выбрать X0 е В2п произвольно и вычислить /(Хг).

2. Определять точки X' е 01(Х0), г = 1,2,..., п, и вычислять / (X') до тех пор, пока не будет найдена такая точка X1, что /(X1) > /(X0) .

3. Если такая точка найдена, то положить X0 = X1 и идти к 2.

4. X* = X0.

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

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

Известна [17] следующая обобщенная функция со штрафом

т

^ (X) = С (X) - г (Л} (X) - И}).

1=1

Для простоты рассмотрим случай с одним ограничением в виде неравенства ^(X) = С(X) - г • (Л(X) - И) или ^(X) = С(X) - г • Л(X) .

Пусть X' е 0^0) - граничная точка, принадлежащая к-му уровню X0, т.е. для VX е 0^) П 0к^0): Л(X) > И .

В случае монотонности целевой функции и ограничения

1) для V/ е 0^) П О,^0) : С (У) < С (X') и Л(¥) < Л( X');

2) для VZ е 0l(X) П 0к-1(X0) : С(I) > С(X') и Л(2) > Л(X') .

Обозначим С(X') - С (У) = Ц > 0, С (I) - С (X') = Ь2 > 0,

Л(X') - Л(У) = Ых > 0, Л(1) - Л(X') = М2 > 0.

Для адекватного решения задачи обобщенная функция должна принимать локальный максимум в точке X':

V/ : ^(X') > ^(У); VI: ^(X') > ^(I).

Иначе С (X') - С (У) - г (Л( X') - Л(У)) > 0, С (X') - С (I) - г (Л( X') - Л( I)) > 0,

С (I) - С (X') С (X') - С (У) Ц2 Ц откуда ——--—- < г < ——-— или < г < 1

Л( I) -1 (X') Л( X') - Л(У) М 2 М1 ' Последнее выражение показывает, что очень трудно подобрать подходящий параметр для такой обобщенной функции. Поэтому лучше несколько изменить обобщенную функцию со штрафом:

^

Проделав аналогичные преобразования, получаем следующее условие для параметра г, при котором обобщенная функция принимает локальный оптимум в точке X':

С (I) - С (X') Ц2

г > --—- или г > 2

Л(I) - И М2

Отсюда следует, что для адекватности обобщенной функции (2) необходимо взять достаточно большое г.

Для случая нескольких ограничений в (1) обобщенная функция (2) записывается в

виде

F(X) = C(X) - r • ^ max{0, A} (X) - H}}.

j=i

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

Выводы

Применение точных регулярных алгоритмов для решения задач дискретной оптимизации большой размерности представляется бесперспективным. Уже при размерности порядка 100 точный алгоритм не в состоянии найти решение за реальное время. Предложенные в работе эвристические алгоритмы «жадного» поиска и алгоритм локального поиска позволяют эффективно решать задачи оптимизации функций с булевыми переменными при наличии ограничений в случаях, когда целевая функция или ограничения заданы в неявном виде (алгоритмически). Гриди-алгоритм за n шагов (n -размерность задачи) находит допустимое субоптимальное решение. На каждом шаге гриди-алгоритм выбирает следующий элемент, делая наиболее предпочтительный выбор. Локальный поиск с мультистартом находит истинное решение многоэкстремальной задачи в том случае, когда хотя бы одна точка мультистарта «попала» в зону притяжения глобального минимума. Алгоритм локальной оптимизации с использованием штрафных функций применим для решения задач оптимизации псевдобулевых функций общего вида с системами «сложных» (полимодальных) ограничений.

Литература.

1. Антамошкин А.Н. Оптимизация функционалов с булевыми переменными. - Томск: Изд-во Томского ун-та, 1987, 218 с.

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

3. Антамошкин А.Н., Масич И.С. Эффективные алгоритмы условной оптимизации монотонных псевдобулевых функций. Вестник СибГАУ - Вып. 4. Красноярск: СибГАУ, 2003, с. 60-67.

4. Дегтерев Д.А., Масич И.С., Нейман Г.А. Оптимизация загрузки технологического оборудования предприятия. Вестник Ассоциации выпускников КГТУ - Вып. 8. Красноярск: ИПЦ КГТУ, 2002, с. 166-170.

5. Дегтерев Д.А., Масич И.С. Поиск граничных точек в задаче условной оптимизации монотонных псевдобулевых функций. Объединенный научный журнал. М.: «ТЕЗАРУС», 2003, № 2-3, с.89-95.

6. Имануилов П.А., Пуртиков В.А. Решение задачи формирования кредитного портфеля банка методом Мивер. Вестник НИИ СУВПТ - Вып. 5. Красноярск: НИИ СУВПТ, 2000, с. 16-31.

7. Казаковцев Л.А. Подходы к автоматизации задач планирования ассортимента на торговых предприятиях. Вестник НИИ СУВПТ - Вып. 5. Красноярск: НИИ СУВПТ, 2000, с. 32-41.

8. Масич И.С. Сравнительная эффективность регулярных процедур условной оптимизации псевдобулевых функций. Вестник НИИ СУВПТ - Интеллектуальные технологии и адаптация. Красноярск: НИИ СУВПТ, 2002, с. 160-177.

9. Нейман Г.А. Регулярные алгоритмы псевдобулевой оптимизации систем отказоустойчивого программного обеспечения. Вестник НИИ СУВПТ - Вып. 5. Красноярск: НИИ СУВПТ, 2000, с. 111-120.

10. Нейман Г.А., Филатов Н.А. Метод случайного поиска граничной точки. Вестник НИИ СУВПТ - Вып. 7. Красноярск: НИИ СУВПТ, 2001, с. 84-87.

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

12. Попов А.А. Оптимизационные методы формирования мультиверсионного программного обеспечения критичных по надежности систем управления. Дис. на соиск. уч. ст. канд. техн. наук. Красноярск: НИИ СУВПТ, 2002, 192 с.

13. Попов А.А. Структурная оптимизация систем отказоустойчивого программного обеспечения. Вестник НИИ СУВПТ - Вып. 2. Красноярск: НИИ СУВПТ, 1999 с. 73-81.

14. Растригин Л.А. Адаптация сложных систем. Рига: Знание, 1981, 375 с.

15. Растригин Л.А., Фрейманис Э.Э. Решение задач разношкальной оптимизации методами случайного поиска. Проблемы случайного поиска - Вып. 11. Рига: Зинатне, 1988, с. 9-25.

16. Семенкин Е.С., Семенкина О.Э., Коробейников С.П. Оптимизация технических систем. Красноярск: СИБУП, 1996, 292 с.

17. Семенкина О.Э., Жидков В.В. Оптимизация управления сложными системами методом обобщенного локального поиска. М.: МАКС Пресс, 2002, 215 с.

18. AllemandK., Fukuda K., Liebling T.M., Steiner E. A polynomial case of unconstrained zero-one quadratic optimization. Math. Program., Ser. A 91, 2001, pp. 49-52.

19. Barth P. A Davis-Putnam Based Enumeration Algorithm for Linear Pseudo-Boolean Optimization. - Max-Planck-Institut fur Informatik, MPI-I-95-2-003, January 1995, 19 p.

20. Boros E., Hammer P.L. Pseudo-Boolean Optimization. Rutcor Research Report, RRR 48-2001, September, 2001, 84 p.

21. Boros E., Lari I., Simeone B. Block Linear Majorants in Quadratic 0-1 Optimization, Rutcor Research Report, RRR 18-2000, March 2000, 18 p.

22. Ekin O., Foldes S., Hammer P.L., Hellerstein L. Equational Theories of Boolean Function. DIMACS Technical Report 97-79, December 1997, 22 p.

23. 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.

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

25. Kovalev I.V. System of Multi-Version Development of Spacecrafts Control Software. - Pro Universitate Verlag Sinzheim, 2001, 98 р.

26. Masich I.S. Multi-version methods of software reliability growth in intelligence systems. Intelligent Systems. Pr. of the Fifth Int. Symp. Moscow: BMSTU, 2002, pp. 74-76.

27. System Analysis, Design and Optimization. An Introduction - General Editing by A.Zilinskas, Krasnoyarsk, 1993, 203 p.

28. Wegener I., Witt C. On the Optimization of Monotone Polynomials by Simple Randomized Search Heuristics. Technical Report ISSN 1433-3325, October 2002, 25 p.