Московский физико-технический институт

advertisement
Московский физико-технический институт
(государственный университет)
Факультет радиотехники и кибернетики
Кафедра предсказательного моделирования и оптимизации
Эффективный алгоритм
многокритериальной суррогатной
оптимизации
Выпускная квалификационная
работа на степень магистра
студента 711гр.
Назаренко А.М.
Научный руководитель
к.ф.-м.н. Губарев Ф.В.
Работа выполнена в ИППИ РАН,
г. Москва,
2013г.
Оглавление
Список иллюстраций
ii
1 Введение. Задача однокритериальной оптимизации
1.1 Постановка задачи . . . . . . . . . . . . . . . . . . . . .
1.2 Понятие минимума . . . . . . . . . . . . . . . . . . . .
1.3 Ограничения . . . . . . . . . . . . . . . . . . . . . . . .
1.4 Непрерывность входных переменных . . . . . . . . . .
1.5 Детерминированность целевой функции . . . . . . . .
1.6 Алгоритмы оптимизации . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
1
2
3
4
4
5
5
2 Многокритериальная оптимизация
2.1 Парето-оптимальность . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2 Подходы к решению . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3 Интерактивная оптимизация . . . . . . . . . . . . . . . . . . . . . . . . . .
7
7
11
16
3 Оптимизация с использованием суррогатных
3.1 Кригинг . . . . . . . . . . . . . . . . . . . . . .
3.2 Общая схема метода . . . . . . . . . . . . . . .
3.3 Построение обучающей выборки . . . . . . . .
3.4 Критерии выбора новых точек . . . . . . . . .
моделей
. . . . . .
. . . . . .
. . . . . .
. . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
17
17
21
22
23
4 Построение алгоритма
4.1 Структура алгоритма . . . . . .
4.2 Построение начальной выборки
4.3 Однокритериальный метод . . .
4.4 Поиск якорных точек . . . . . .
4.5 Скаляризация . . . . . . . . . .
4.6 Возможные обобщения . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
28
29
29
30
32
33
37
5 Примеры решения задач
5.1 Методика сравнения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.2 Результаты . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
39
39
41
6 Заключение
47
Литература
48
.
.
.
.
.
.
.
.
.
.
.
.
i
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Список иллюстраций
1.1
1.2
Локальный и глобальный минимумы . . . . . . . . . . . . . . . . . . . . .
Условный минимум . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
4
2.1
2.2
2.3
Сравнение векторов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Парето фронт . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Линейная скаляризация . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8
10
13
3.1
3.2
20
3.3
3.4
Пример предсказания на основе кригинга . . . . . . . . . . . . . . . . . .
Общая схема методов исследования функции с использованием суррогатных моделей . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Метод максимизации вероятности улучшения . . . . . . . . . . . . . . . .
Метод максимизации ожидаемого улучшения . . . . . . . . . . . . . . . .
4.1
4.2
Схема работы алгоритма . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Адаптивная скаляризация . . . . . . . . . . . . . . . . . . . . . . . . . . .
30
37
5.1
5.2
5.3
5.4
5.5
5.6
Метрика Q .
ZDT1, n = 2 .
ZDT1, n = 5 .
ZDT2, n = 2 .
ZDT2, n = 5 .
ZDT3, n = 2 .
40
42
42
44
44
46
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
ii
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
21
24
26
Аннотация
Многообразие возникающих оптимизационных задач требует все новых алгоритмов для
их решения. Характерной особенностью многих актуальных задач является высокая
вычислительная сложность целевых функций и ограничений, следовательно, каждое
их вычисление требует существенных затрат времени. Так как решение задачи, как
правило, нужно получить в строго ограниченный срок, то естественным приоритетом
при выборе алгоритма оптимизации становится возможность явно контролировать бюджет вычислений, возможно, ухудшая качество получаемого решения. В данной работе рассматривается построение эффективного глобального метода многокритериальной
оптимизации с использованием суррогатных моделей, который позволяет прямо управлять бюджетом вычислений. Кроме того, приведено краткое сравнение предложенного
алгоритма с алгоритмами других типов.
Глава 1
Введение. Задача однокритериальной
оптимизации
Мы часто оказываемся в условиях выбора между альтернативными решениями. Естественное желание сделать наилучший выбор, будучи формализованным, приводит к
постановке задачи оптимизации – поиску альтернатив, превосходящих все остальные
по некому критерию. Оптимизация, как наука, изучает постановку, свойства и способы
решения таких задач.
Несмотря на то, что первые упоминания о решении оптимизационных задач встречаются еще в древнем мире, современный вид теория оптимизации приобрела относительно недавно и активно развивается до сих пор. Однако, действительно широкий
интерес к предмету возник с развитием вычислительной техники, и с некоторого момента усилия исследователей сосредоточены в первую очередь на разработке численных алгоритмов. Рост доступной вычислительной мощности и развитие имитационного
программного обеспечения ставить все новые оптимизационные задачи во все большем
числе предметных областей, свойства которых часто выдвигают новые требования к
оптимизационным алгоритмам.
Задачей данной данной работы является построение эффективного и практически
реализуемого алгоритма многокритериальной оптимизации с определенными свойствами. Прежде чем мы сможем окончательно сформулировать требования к алгоритму, нужно обсудить как математическое содержание задач оптимизации, так и практические трудности, возникающие при решении. Это и будет целью первых трех глав
данной работы.
Первая глава посвящена классической задаче однокритериальной оптимизации и
вводит необходимые для дальнейшего обсуждения обозначения и предположения.
1
ГЛАВА 1. ВВЕДЕНИЕ. ЗАДАЧА ОДНОКРИТЕРИАЛЬНОЙ ОПТИМИЗАЦИИ
1.1
Постановка задачи
Часто, задачу оптимизации определяют в несколько шагов, постепенно усложняя постановку. Однако, это существенно только при подробном рассмотрении сопутствующей
математической теории, обзор которой не входит в цели данной работы. Поэтому, стоит
сразу рассмотреть наиболее общую задачу.
Начнем с введения необходимых обозначений, которых мы будем придерживаться
во всем тексте работы:
• x - вектор входных переменных
• N – количество входных переменных в задаче, то есть длина вектора x
• F(x) – вектор целевых функций или критериев
• K – количество целевых функций в задаче, то есть длина вектора F
• g(x), h(x) - векторы ограничений, накладываемых на входные переменные
• M – количество ограничений в задаче, то есть суммарная длина векторов g и h
• Q - допустимое множество, то есть множество векторов x, удовлетворяющих
всем наложенным ограничениям
В данной главе мы будем обсуждать однокритериальный случай, то есть зафиксируем K = 1. Обозначим f (x) = F1 (x). Тогда мы можем записать оптимизационную
задачу в следующей форме:
minx∈Q⊂<N f (x)
при условиях
(1.1)
g(x) ≥ 0
h(x) = 0
Если M = 0, то говорят о задаче безусловной оптимизации, если же ограничения
присутствуют, то задача называется условной.
Как и везде в дальнейшем, мы без ограничения общности говорим о минимизации
целевой функции, так как задача максимизации легко сводится на к задаче 1.1 заменой
целевой функции на f ∗ (x) = −f (x).
Решить задачу 1.1 – значит либо найти точку минимума x0 , либо показать, что такой
точки не существует (Q = ∅ или функция f (x) не ограничена на Q).
2
ГЛАВА 1. ВВЕДЕНИЕ. ЗАДАЧА ОДНОКРИТЕРИАЛЬНОЙ ОПТИМИЗАЦИИ
Рис. 1.1: Локальный и глобальный минимумы
1.2
Понятие минимума
Рассматривают несколько различных типов минимума функции. Различие между ними
в дальнейшем будет существенно, поэтому рассмотрим их подробно.
Прежде всего, минимум может быть локальным или глобальным. Локальным (строгим) минимумом для задачи условной оптимизации называется точка x∗ , такая, что
∃ > 0 : f (x∗ ) < f (x) ∀x ∈ B (x∗ ) ∩ Q
Здесь B (z) – шар радиуса вокруг точки z.
Глобальным (строгим) минимумом называют точку x∗ , для которой
f (x∗ ) < f (x) ∀x ∈ ∩Q
Также выделяют строгий и нестрогий минимумы. Для того, чтобы получить определения нестрогих локального и глобального минимума, в определениях выше нужно
лишь заменить единственный знак f (x∗ ) < f (x) на f (x∗ ) ≤ f (x).
Многие алгоритмы приспособлены только к поиску локальных минимума. Однако
есть и изначально предназначенные для глобального поиска алгоритмы, и способы глобализации для локальных методов. Мы вернемся к этому вопросу в главе 3. Пока что
стоит ограничится утверждением, что задача поиска глобального минимума сложна и,
как правило, требует существенно большего числа вычислений целевой функции.
3
ГЛАВА 1. ВВЕДЕНИЕ. ЗАДАЧА ОДНОКРИТЕРИАЛЬНОЙ ОПТИМИЗАЦИИ
1.3
Ограничения
Функции-ограничения являются наиболее распространенным и практически значимым
способом описания допустимого множества Q. Выделяют два основных типа ограничений - ограничения равенства h и ограничения неравенства g. Пример того, как введение
ограничений влияет на решение оптимизационной задаче изображен на рисунке 1.2.
Отдельно стоит выделить подмножество ограничений неравенства вида xi + a ≥ 0,
которые часто называют коробочными. Легко видеть, что такие ограничения накладывают условия непосредственно на диапазон изменения отдельных входных переменных.
Часто задачи только с коробочными ограничениями относят к задачам безусловной
оптимизации. Для многих алгоритмов оптимизации наличие коробочных ограничений
обязательно для всех входных переменных, в частности, в рассматриваемом в главе 3
подходе с использованием суррогатных моделей.
1.4
Непрерывность входных переменных
В дальнейшем мы будем считать, что все входные переменные непрерывны, то есть
могут принимать любые вещественные значения. Однако важное практическое значение имеют и задачи, в которых все или часть переменных могут иметь лишь целые
значения, и, таким образом, являются дискретными. Это, соответственно, задачи целочисленной и смешанной оптимизации. Решение целочисленных задач - достаточно
обособленный и обширный раздел теории оптимизации, который стоит, как минимум,
Рис. 1.2: Условный минимум
4
ГЛАВА 1. ВВЕДЕНИЕ. ЗАДАЧА ОДНОКРИТЕРИАЛЬНОЙ ОПТИМИЗАЦИИ
упомянуть.
Условие целочисленности переменных возникает непосредственно из их физического
смысла в решаемой задаче, конкретно, в целевой функции. Если переменная представляет из себя, например, длину, она логически может принимать любые положительные
значения. Однако же, если переменная является количеством каких-либо неделимых
предметов или товаров, допустимы лишь натуральные числа или 0.
1.5
Детерминированность целевой функции
В некоторых оптимизационных задачах возникает ситуация, когда целевую функцию
и/или ограничения не удается описать точно, так как они зависят некоторых стохастических переменных, значения которых неизвестны на момент постановки задачи.
Примеры таких задач часто возникают в самых различных областях, например, в экономике, когда решение может зависеть от будущих характеристик рынка или еще не
принятых решений.
Такие задачи могут быть решены, если таким неопределенным переменным удается подобрать вероятностную модель с хорошей предсказательной силой. Моделью
стохастической переменной может быть как определение конечного набора сценариев с
назначением некоторых вероятностей каждому, так и непрерывная функция распределения.
Задачи со стохастическими переменными изучаются в теории робастной оптимизации. Существует множество формулировок робастных задач и специальных алгоритмов
для их решения.
В данной работе мы будем предполагать, что оптимизационная задача не содержит
стохастических переменных. Это означает, что при многократных вычислениях в одной и той же точке целевая функция и все ограничения никогда не изменяют своих
значений. Такая ситуация вполне типична для оптимизации компьютерных моделей.
1.6
Алгоритмы оптимизации
Большинство алгоритмов оптимизации являются итеративными. Начиная с некоторого начального приближения, они выстраивают последовательность точек пока не будет
выполнено одно из условий остановки. Способ выбора следующей точки (или сразу
нескольких) в этой последовательности, фактически и определяет весь алгоритм.
Выбор критериев остановки алгоритма является одной из важнейших проблем при
практическом решении оптимизационных задач. С одной стороны, при слишком слабых
условиях оптимизация может прекратится слишком далеко от истинного минимума, с
5
ГЛАВА 1. ВВЕДЕНИЕ. ЗАДАЧА ОДНОКРИТЕРИАЛЬНОЙ ОПТИМИЗАЦИИ
другой, слишком жесткие условия могут оказаться недостижимы. Вопрос о достаточных условия локального минимума решен для широкого класса целевых функции и
ограничений, за подробностями можно обратится, например, к книге [12]. В случае же
поиска глобального минимума ситуация существенно сложнее и, зачастую, остановка
алгоритма определяется внешним параметром – максимальным числом вычислений целевой функции или ограничений. Условие такого типа называют бюджетом.
Одной из характерных особенностей алгоритмов оптимизации является вложенность. Во время работы многие алгоритмы требуют решения одной или нескольких
оптимизационных же подзадач. Это будет играть существенную роль в дальнейшем
изложении – когда это уместно, при описании метода оптимизации можно ограничится
лишь постановкой возникающих подзадач, а затем сослаться на известные методы для
их решения.
6
Глава 2
Многокритериальная оптимизация
При анализе большинства нетривиальных объектов необходимо учитывать множество
критериев, зачастую конфликтующих друг с другом. Кроме того, во многих случаях
сложно или невозможно выделить среди них наиболее важный. При желании оптимизировать характеристики такого объекта и возникает задача многокритериальной
оптимизации.
Первые многокритериальные задачи в современной формулировке появились в экономике, оттуда же пришел и важнейший математический аппарат. Теории рациональной экономики говорят о том, что каждый человек сталкивается с многокритериальной
оптимизацией практически ежедневно, как правило, даже не осознавая этого. Поиск
наилучшего товара за минимальную цену – возможно, самая распространенная многокритериальная задача, актуальная с возникновения торговли и по сей день. Новые же
задачи многокритериальной оптимизации все чаще возникают в самых разных областях, особенно в инженерном проектировании.
Одним из важнейших отличий многокритериальных задач от уже рассмотренных
однокритериальных является принциально другая структура получаемого решения.
Вместо единственной оптимальной точки, как правило речь идет о поиске целого множества несравнимых решений-альтернатив, известных как Парето-оптимальные точки. Выбор же единственного, окончательного решения осуществляется, как правило,
экспертами-людьми.
Задача данной главы – ввести основные понятия многокритериальной оптимизации
и ознакомить с наиболее распространенными подходами к решению.
2.1
Парето-оптимальность
В однокритериальном случае, любые две точки x1 и x2 из допустимого множества Q
всегда сравнимы: либо f (x1 ) ≤ f (x2 ), либо f (x1 ) > f (x2 ). Таким образом, целевая
7
ГЛАВА 2. МНОГОКРИТЕРИАЛЬНАЯ ОПТИМИЗАЦИЯ
функция определяет отношение полного порядка на допустимом множестве. Однако,
когда целевых функций становится несколько, то возникает и третий вариант – x1 и
x2 несравнимы, и множество Q становится частично упорядоченным. Рассмотрим это
более формально.
Определение. Для любых двух векторов в пространстве целевых функций u и v:
u = v ⇐⇒ ∀i ∈ {1, 2, . . . , K} ui = vi
u ≤ v ⇐⇒ ∀i ∈ {1, 2, . . . , K} ui ≤ vi
u < v ⇐⇒ ∀i ∈ {1, 2, . . . , K} ui ≤ vi , ∃k ∈ {1, 2, . . . , K} : ui < vi
Отношения ≥ и > определяются аналогично.
Проиллюстрируем это примером, см. рисунок 2.1. В соответствии с приведенным
определением, выполняются следующие неравенства: A > B, A < C, A ≤ D. Точки E
и F не попадают ни под одно правило, и, таким образом, несравнимы с точкой A.
Рис. 2.1: Сравнение векторов
8
ГЛАВА 2. МНОГОКРИТЕРИАЛЬНАЯ ОПТИМИЗАЦИЯ
Таким образом, в пространстве входных переменных для любых двух точек x1 и x2
возможны три разных случая (сравните с двумя в однокритериальной задаче): f (x1 ) ≤
f (x2 ), f (x1 ) > f (x2 ) и f (x1 ) f (x2 ) ∩ f (x1 ) f (x2 ).
Определение (Парето доминирование). Для любых векторов входных переменных
x1 и x2 :
x1 ≺ x2 (x1 доминирует x2 ) ⇐⇒f (x1 ) < f (x2 )
x1 x2 (x1 слабо доминирует x2 ) ⇐⇒f (x1 ) ≤ f (x2 )
x1 ∼ x2 (x1 безразлично x2 ) ⇐⇒f (x1 ) f (x2 ) ∩ f (x1 ) f (x2 ))
Определение (Парето множество). Множество всех допустимых векторов x ∈ Q,
для которых выполнено:
@x0 ∈ Q : x0 ≺ x
называют Парето множеством или Парето-оптимальное множеством, а множество
соответствующих им значений f (x) составляют Парето фронт.
Вооруженные данными определениями мы наконец готовы ответить на вопрос, что
же мы будем считать решением многокритериальной оптимизационной задачи – либо
единственную Парето-оптимальную точку, либо приближение Парето множества конечным числом точек. Первую постановку принято называть локальной многокритериальной задачей, вторую – глобальной. В дальнейшем внимание будет уделено в основном
глобальной задаче.
Чтобы завершить обсуждение структуры решения многокритериальных задач, остается еще один важный вопрос – какое приближение Парето множества можно считать
качественным. На данном этапе, не вдаваясь в подробности, стоит выделить два основных требования, которые можно предъявить к решению. Во первых, нужно как можно ближе приблизится к истинному Парето фронту. Во вторых, покрыть как можно
большую долю фронта, то есть получить максимально возможный диапазон значений
каждой целевой функции в полученном решении. Во третьих, этот диапазон важно
заполнить решениями в некотором смысле равномерно. Более формально этим мы займемся в главе 5, когда будем сравнивать решения, полученные с помощью различных
алгоритмов оптимизации.
На рисунке 2.2 приведен практический пример решения, полученный с помощью
некоторого численного алгоритма. Несмотря на то, что формально решением задачи
9
ГЛАВА 2. МНОГОКРИТЕРИАЛЬНАЯ ОПТИМИЗАЦИЯ
Рис. 2.2: Парето фронт
является приближение Парето-оптимального множества, как правило, внимание уделяют виду полученного приближения Парето фронта, так как оно более наглядно. Также, на этом рисунке отмечены еще несколько важных, до этого не упомянутых точек.
В первую очередь, нужно обратить внимание на так называемые якорные точки M1
и M2 – фактически, они соответствуют решениям однокритериальных задач минимизации каждой компоненты вектора f (x) в отдельности. Поиск таких точек является
ключевым шагом для многих численных алгоритмов. Кроме того, на этом же рисунке
(точка U) отмечена так называемая утопия – точка в пространстве целевых функций,
соответствующая одновременному достижению минимума каждой компонентой вектора целевых функций. Кроме редких вырожденных случаев, не существует такой точки
x ∈ Q, в которой это выполняется, однако этот термин часто встречается в рассмотрении алгоритмов оптимизации и будет полезен в главе 4.
10
ГЛАВА 2. МНОГОКРИТЕРИАЛЬНАЯ ОПТИМИЗАЦИЯ
2.2
Подходы к решению
За последние полвека разработано огромное количество алгоритмов для решения многокритериальных задач. Однако большинство из них могут быть отнесены к одному
из немногочисленных общих подходов, наиболее значимые из которых описаны в этой
части.
Скалярязицая
Под скаляризацией в контексте многокритериальной оптимизации понимают широкий
класс алгоритмов, позволяющих для любой многокритериальной задачи построить такую однокритериальную, чтобы ее глобальный оптимум являлся Парето-оптимальных
решением для исходной задачи.
Привлекательность такого подхода понятна – для решения скаляризованной оптимизационной задачи можно применять практически любой из многочисленных и хорошо изученных методов решения однокритериальных задач. Более того, дополнительным практическим преимуществом становится то, что многие способы скаляризации
могут (а некоторые даже должны) быть применены непосредственно человеком, без
специального программного обеспечения. Это позволяет решать многокритериальные
задачи с помощью, фактически, любого доступного средства оптимизации.
Результатом решения корректно скаляризованной задачи является одна Паретооптимальная точка. Таким образом, для того, чтобы получить приближение Парето
множества необходимо решить несколько таких задач.
Ввиду многообразия способов скаляризации, стоит провести дальнейшую классификацию внутри данного подхода.
Первый способ скаляризации основан на выборе скаляризационной функции (или
функции полезности) f (x) = U (F). Существующие в исходной задаче ограничения,
как правило, переносятся в однокритериальную задачу. Выбор функции U (F) может
осуществляется как алгоритмически, так и человеком на основе каких-либо априорных
знаний о решении.
Простейшим, и в то же время показательным, примером скаляризационной функции
является взвешенная сумма целевых функций или линейная скаляризация
U (F) = w1 F1 + w2 F2 + . . . + wK FK = (w, F)
Все веса wi положительны, а их сумму, без ограничения общности, можно зафиксиP
ровать единицей i=K
i=1 wi = 1. Дальнейшее рассмотрение линейной скаляризационной
функции для простоты проведем для случая K = 2, то есть U (F) = w1 f1 + w2 f2 . В
11
ГЛАВА 2. МНОГОКРИТЕРИАЛЬНАЯ ОПТИМИЗАЦИЯ
начале обсудим, как с помощью линейной скаляризации можно получить решение глобальной многокритериальной задачи. В простейшем случае, мы можем выбрать n ≥ K
значений одного из весов, пусть это будет w1 , равномерно из отрезка [0, 1]:
w1j =
j
, j ∈ {0, 1, 2, . . . , n − 1}
n−1
Тогда значение w2 будет однозначно определено из условия w1 + w2 = 1. Решая полученную однокритериальную задачу minx∈Q w1j F1 + (1 − w1j )F2 для всех выбранных
значений w1j , получим искомое приближения Парето множества. Однако, будет ли это
решение качественным по неформально введенным в предыдущей части критериям?
Первое условие будет удовлетворено, так как будет содержать обе якорные точки(при
w1 = 1 и w1 = 0). А равномерность покрытия решениями Парето фронта будет зависеть
от его геометрии, как правило, априорно неизвестной. Как мы увидим, это будет одним
из ключевых недостатков скаляризации.
На равномерность покрытия Парето фронта влияет, в первую очередь, его кривизна. Большие абсолютные значения кривизны представляют существенную проблему
для простейшего способа выбора весов, что можно решить с помощью одного из многочисленных адаптивных методов подбора весов (см., например, книгу [4]). Однако есть
и более глубокая проблема – для многих скаляризационных функций, в частности, для
рассматриваемой сейчас взвешенной суммы, некоторые участки Парето фронта остаются недостижимы при любых значениях весов. Это легко понять, если переписать
выражение для скаляризационной функции следующим образом:
F2 (x) = −
w1
U
F1 (x) +
w2
w2
Это выражение задает прямую линию в пространстве целевых функций. При решении
каждой однокритериальной подзадачи эта прямая линия имеет фиксированный наклон
w1
−w
и переменное слагаемое
2
U
.
w2
Графически, решение этой задачи можно представить
как перемещение этой прямой до тех пор, пока не будут выполнены два условия: на
прямой есть хотя бы один вектор F, соответствующий допустимому значению x ∈ Q, а
под этой прямой таких векторов не останется.
Рассмотрев на примере взвешенной суммы скаляризацию с помощью функции полезности, перейдем к следующему распространенному способу – методу ограничений.
Предположим, что решив независимо задачи минимизации каждой целевой функции Fi (x), мы нашли все якорные точки. После этого, можно поступить следующим
образом – выбрать одну из целевых функций (без ограничения общности, это может
быть F1 ) и поставить следующую задачу:
12
ГЛАВА 2. МНОГОКРИТЕРИАЛЬНАЯ ОПТИМИЗАЦИЯ
minx∈Q⊂<N F1 (x)
при условиях
g(x) ≥ 0
h(x) = 0
− Fi − i ≥ 0 i ∈ {2, . . . , K}
Таким образом, мы будем решать однокритериальную задачу минимизации F1 с дополнительными ограничениями. Варьируя значения параметров i в пределах диапазона, задаваемого якорными точками, можно получать различные Парето-оптимальные
решения. Точно так же, как и в случае скаляризационной функции для равномерного
закрытия Парето фронта нужно будет применить адаптивный подбор этих параметров.
Можно предложить еще много способов скаляризации, но уже рассмотренных достаточно, чтобы можно было обоснованно обсудить характерные преимущества и недостатки этого подхода.
Основное преимущество было названо в самом начале – для решения скаляризован-
Рис. 2.3: Линейная скаляризация, K = 2
13
ГЛАВА 2. МНОГОКРИТЕРИАЛЬНАЯ ОПТИМИЗАЦИЯ
ных задач можно применять все многообразие однокритериальных алгоритмов оптимизации. Из недостатков хочется подчеркнуть три, возможно, наиболее серьезных. Во
первых, это уже упомянутые проблемы с получение равномерного покрытия Парето
фронта (включая и невозможность достигнуть некоторых его участков). Для борьбы с
этим можно применять адаптивные схемы выбора параметров скаляризации, как правило, успешно. Во вторых – независимое решение множества однокритериальных задач,
очевидно, приводит к потере накапливаемой на каждом шаге информации о целевых
функциях. Интуитивно, это приводит к тому, что для решения глобальной многокритериальной задачи нам потребуется большее количество раз вычислять целевые функции
и ограничения, что нежелательно.
Генетические алгоритмы
Генетические алгоритмы – широкий класс методов оптимизации, симулирующих процесс естественной эволюций.
Все эти методы оперируют набором решений-кандидатов. Упрощенно, это набор итеративно модифицируется с помощью двух основных принципов эволюции – отбор и вариация. Для живых организмов отбор обозначает конкуренцию за ресурсы. Более приспособленные организмы имеют большую вероятность выжить и оставить потомство. В
эволюционных алгоритмах естественный отбор эмулируется стохастическим процессом
выбора наилучших решений. Каждое решение получает шанс на «воспроизведение» в
зависимости от своего качества. Как правило, качество оценивается скалярной функцией приспособленности, выбор которой является одним из ключевых элементов любого генетического алгоритма. Второй принцип, вариация, реализуется имитацией таких
биологических процессов как мутации.
Функция приспособленности может быть как построена как по принципам, уже рассмотренным в обзоре методов скаляризации, так и по более приближенным к многокритериальным задачам критериям доминирования. Оба подхода широко распространенны, однако стоит отметить, что использование в качестве функции приспособленности
традиционных скаляризационных функций приводит к тому, что построенный генетический алгоритм фактически наследует все недостатки, присущие скаляризации.
Несмотря на идейную простоту, генетически алгоритмы показывают хорошие результаты на многих задачах. Их приспособленность к решению многокритериальных
задач во многом связана с возможностью получить за один запуск множество решений,
фактически, искомое приближение Парето множества.
Среди преимуществ генетических алгоритмов можно назвать: относительно малую
чувствительность к шуму в целевых функциях, возможность глобального поиска и воз-
14
ГЛАВА 2. МНОГОКРИТЕРИАЛЬНАЯ ОПТИМИЗАЦИЯ
можность параллельного вычисления многих точек во время решения. К характерным
же недостаткам обычно относят сложности при решении задач, в которых присутствуют достаточно жесткие ограничения, особенно ограничения типа равенства.
Многокритериальные градиентные методы
Градиентные методы – возможно, наиболее распространенные алгоритмы оптимизации, опирающиеся на построение локальной модели функции на основе ее производных.
Фактически каждому, кто сталкивался с оптимизацией при непрерывных переменных,
знакомы такие алгоритмы как метод наискорейшего спуска или метод Ньютона. Подробное построение этих методов и всю необходимую теорию можно найти, например,
в книге [12].
Однокритериальные градиентные методы стали одними из первых современных алгоритмов оптимизации, однако, их многокритериальные обобщения получены сравнительно недавно. Сколь нибудь подробное описание стало бы очень громоздким, поэтому
рассмотрим лишь основные идеи, лежащие за этими обощениями.
Выделим два ключевых компонента многокритериальных градиентных методов –
спуск к фронту и рассеяние. Спуск к фронту – фактически, решение локальной многокритериальной задачи, поиск хотя бы одной Парето-оптимальной точки. Рассеяние
– способ сдвинутся в пространстве входных переменных так, чтобы остатся на Парето фронте в пространстве целевых функций. Повторяя эти шаги многократно, можно
восстановить Парето множество с высокой точностью.
Можно назвать много преимуществ такого подхода. Первое – наличие численных
оценок производных позволяет алгоритму контролировать выполнение условий оптимальности, что во многих случаях позволяет получать наиболее точные решения. Второе – эффективная работа с ограничениями, в частности, с наиболее сложными для
других алгоритмов ограничениями типа равенства. Третье – приспособленность градиентных методов к относительно высоким размерностям – как пространства входных
переменных N , так и пространства целевых функций K.
Однако, есть и недостатки, полностью унаследованные от однокритериальных градиентных методов. В первую очередь, это высокая чувствительность к шуму в функциях и ограничениях, которая только нарастает в более совершенных методах из за
использования высокого порядка производных. Также стоит выделить проблему организации глобального поиска – попытка обобщить градиентные методы для глобальной
оптимизации наталкивается на множество препятствий. Это сильно затрудняет их использование при решении задач со множеством локальных минимумов.
15
ГЛАВА 2. МНОГОКРИТЕРИАЛЬНАЯ ОПТИМИЗАЦИЯ
2.3
Интерактивная оптимизация
Как уже говорилось, решением глобальной задачи многокритериальной оптимизации
считают максимально точное приближение Парето фронта конечным множеством точек. Однако, во многих случаях, открытие всего Парето фронта не является необходимым, так как большая доля формально оптимальных решений слишком слаба по
одному из критериев оптимизации. Если априорно известны диапазоны изменений и
примерная форма Парето фронта, то эта проблема эффективно решается использованием уже рассмотренного метода скаляризации с использованием ограничений. Но во
многих случаях, эта информация недоступна.
В качестве примера, рассмотрим интерактивную версию градиентного многокритериального алгоритма. Осуществив спуск к фронту, алгоритм выдает человеку открытую Парето-оптимальную точку и, возможно, какую то дополнительную информацию и
задает вопрос, какие из целевых желательно еще уменьшить, а каким можно позволить
вырасти. Получив ответ, алгоритм на основе локальной модели целевых функций пытается произвести рассеяние по фронту в заданном направлении. Повторяя этот процесс,
можно двигаться по Парето фронту только в нужном направлении, избегая лишних
вычислений.
16
Глава 3
Оптимизация с использованием
суррогатных моделей
Сложность оптимизационных задач постоянно растет. Развитие численного моделирования позволяет подступится к прежде недоступным по масштабу моделям. Однако
даже с учетом экспоненциального роста доступной вычислительной мощности, каждое вычисление наиболее точных численных моделей может занимать многие часы или
сутки. А сложная структура численных моделей зачастую требует поиска глобального
минимума, что, конечно, только усложняет ситуацию.
Один из способов сделать исследование таких моделей практически возможным –
построение так называемых суррогатных моделей или аппроксимаций. Задача суррогатной модели – максимально точно передать поведение моделируемой функции, оставаясь при этом вычислительно простой. Разработано огромное количество методов построения таких моделей, подробный обзор наиболее значимых из них приведен в книге
[5]. В этой же книге можно ознакомится с формальными постановками задачи аппроксимации и необходимой математической теорией.
Методы оптимизации, основанные на суррогатном моделировании целевых функций и ограничений, приобретают все большую популярность в прикладных областях,
особенно в инженерном проектировании. Задача этой главы – описать построение таких методов и их основные преимущества и недостатки. Полученные результаты будут
применены в главе 4 для построения алгоритма решения однокритериальных подзадач.
3.1
Кригинг
Кригинг – один из наиболее распространенных и хорошо исследованных методов построения суррогатных моделей. Особенностью данного метода является использование статистической модели данных, что дает много дополнительных возможностей как
17
ГЛАВА 3. ОПТИМИЗАЦИЯ С ИСПОЛЬЗОВАНИЕМ СУРРОГАТНЫХ МОДЕЛЕЙ
для теоретических оценок, так и в практическом использовании. В частности, кригинг
позволяет не только предсказывать значения моделируемой функции, но и оценивать
ошибку такого предсказания. Предположения, лежащие в основе данного метода, будут играть важную роль в дальнейшем тексте работы, поэтому целесообразно привести
хотя бы краткий обзор.
В большинстве литературы, кригинг рассматривается как «способ моделирования
функции как реализации стохастического процесса». Хотя это и наиболее строгий подход, предлагается более простое рассмотрение чтобы лучше передать основные идеи
метода.
Предположим, что мы поставили задачу получить предсказание значения функции
ŷ в некоторой точке x. Начнем с основного предположения кригинга – в каждой точке
x значение функции в точке y(x) рассматривается как реализация случайной величины
Y (x), имеющей нормальное распределение со средним µ и дисперсией σ 2 . Теперь рассмотрим две точки xi и xj . Предположим, что y(x) – непрерывная функция. По определению, это означает, что если расстояние ||xi − xj || мало, то мало и изменение функции
||y(xi ) − y(xj )||. Со статистической точки зрения, это значит, что если ||xi − xj || мало, то
между случайными величинами Y (xi ) и Y (xj ) есть сильная корреляция. В частности,
корреляцию часто моделируют следующей функцией:
Corr[Y (xi ), Y (xj )] = K(xi ), xj ) = exp(−
N
X
θk |xik − xjk |2 )
k=1
Здесь xik - k-ая компонента вектора xi . Эта корреляционная функция, очевидно,
равна единице при xi = xj и стремится к нулю при ||xi − xj || → ∞. Параметр θk определяет, насколько быстро корреляция спадает вдоль k-ой входной переменной. Большие
значения θk моделируют функцию, быстро изменяющуюся с изменением k-ой входной
переменной.
В случае n точек, мы представляем наши знания о поведении функции в виде случайного вектора Y = |Y (x1 ), . . . , Y (xn )|. Среднее значение данного вектора можно записать как µ1, а матрицу ковариации как Cov(Y) = σ 2 R. Здесь R – матрица размером
n × n, (i, j)-ый элемент которой определен корреляционной функцией K(xi ), xj ). Таким образом, распределение вектора Y полностью описывается параметрами µ, σ 2 и
θk , k = 1, . . . , N .
Для подбора этих параметров используется метод максимального правдоподобия.
Обозначим вектор реализаций этого случайного вектора y = |y1 , . . . , yn | – это, фактически, значения функции y(x) в точках обучающей выборки. Тогда мы можем записать
функцию правдоподобия:
18
ГЛАВА 3. ОПТИМИЗАЦИЯ С ИСПОЛЬЗОВАНИЕМ СУРРОГАТНЫХ МОДЕЛЕЙ
1
n
n
1
(2π) 2 (σ 2 ) 2 |R| 2
exp
−(y − µ1)T |R|−1 (y − µ1)
2σ 2
Смысл максимизации правдоподобия – подобрать такие значения параметров, при
которых максимальна вероятность наблюдать обучающую выборку как реализацию
случайного вектора Y. На практике более удобно рассматривать максимизацию логарифма функции правдоподобия, который (отбрасывая постоянные слагаемые) имеет
вид:
n
1
−(y − µ1)T |R|−1 (y − µ1)
− log(σ 2 ) − log(|R|) −
2
2
2σ 2
Приравнивая производные этой функции по µ и σ 2 к нулю и решая полученные
уравнения, находим оптимальные значения соответствующих параметров:
µ̂ =
1T R−1 y
1T R−1 1
(y − µ̂1)R−1 (y − µ̂1)
σ̂ =
n
2
Подставляя эти значения в выражение для логарифма функции правдоподобия, получаем:
n
1
− log(σ̂ 2 ) − log(|R|)
2
2
Такая запись функции правдоподобия зависит только от матрицы R, то есть от параметров функции корреляции θk . Данная функция максимизируется численным методом
для получения оценок θ̂k .
После того, как мы оценили матрицу R, мы наконец можем приступить к выводу
формулы для предсказания функции y(x) в «новой» точке x∗ . Для этого, добавим точку
(x∗ , y ∗ ) к выборке и посмотрим на изменение логарифма функции правдоподобия. Обозначим вектор корреляций случайной величины Y (x∗ ) с точками обучающей выборки,
как:
r = |Corr[Y (x∗ ), Y (x1 )], . . . , Corr[Y (x∗ ), Y (xn )]|
Тогда дополненная матрица корреляции R̃ запишется в виде:
R̃ =
R r
!
rT 1
Используя формулу частичного обращения матрицы, для изменения логарифма
функции правдоподобия получаем следующее выражение:
19
ГЛАВА 3. ОПТИМИЗАЦИЯ С ИСПОЛЬЗОВАНИЕМ СУРРОГАТНЫХ МОДЕЛЕЙ
Рис. 3.1: Пример предсказания на основе кригинга
rT R−1 (y − µ̂1) ∗
−1
∗
2
(y
−
µ̂)
+
(y − µ̂) + {члены, не содержащие y ∗ }
2σ̂ 2 (1 − rT R−1 r)
σ̂ 2 (1 − rT R−1 r)
Наконец, дифференцируем это выражение по y ∗ , приравниваем к нулю и находим
оптимальное значение:
ŷ(x∗ ) = µ̂ + rT R−1 (y − µ̂1)
Это и есть предсказание по методу кригинга. Кроме того, как уже говорилось, можно
получить выражение для дисперсии s2 (x∗ ) этого предсказания. Приведем его его без
вывода:
2
∗
s (x ) = σ̂
2
(1 − rT R−1 r)2
1−r R r+
1T R−1 1
T
−1
Таким образом, используя суррогатную модель, построенную методом кригинга, мы
получаем, что в точке x∗ модель предсказывает y ∗ как нормально распределенную случайную величину со средним ŷ(x∗ ) и дисперсией s2 (x∗ ). В продолжении этой главы
рассмотрим, как можно использовать такую модель для поиска глобального минимума
функции y(x).
20
ГЛАВА 3. ОПТИМИЗАЦИЯ С ИСПОЛЬЗОВАНИЕМ СУРРОГАТНЫХ МОДЕЛЕЙ
3.2
Общая схема метода
Обширный класс алгоритмов, использующих суррогатные модели, хорошо описывается с помощью простой схемы, см. рисунок 3.2. Для краткости, обозначим изучаемую
функцию как y(x), а последовательность (возникающую на шагах 2-4) ее суррогатных
моделей как ŷi (x).
Исследование исходной функции начинается с построения обучающей выборки для
построения первоначальной суррогатной модели. Для того, чтобы получить достаточно
точную аппроксимацию, на этом этапе по возможности применяются априорные знания
об исходной модели. Уже сейчас можно заметить одно из важных преимуществ этого
подхода – возможность параллельного вычисления исследуемой функции во многих
точках, что позволяет более эффективно использовать допустимые вычислительные
ресурсы.
Следующий шаг – построение суррогатной модели. Выбор конкретного метода аппроксимации определяется множеством факторов. В первую очередь, дальнейшее использование этой модели может полагаться на наличие у нее дополнительных свойств.
Например, как мы уже видели, с помощью метода кригинга можно получить не только
предсказания значений исходной модели в новых точках x, но и оценивать их ошибку.
Следующий критерий выбора метода суррогатного моделирования – априорные знания о виде и характерных особенностях исходной модели, например, предположения
0. Предварительное исследование
1. Построение начальной выборки данных
2. Построение суррогатной модели
3. Исследование модели
(выбор новых точек
по некоторому критерию)
4. Добавление новых точек к
обучающей выборке
Рис. 3.2: Общая схема методов исследования функции с использованием суррогатных
моделей
21
ГЛАВА 3. ОПТИМИЗАЦИЯ С ИСПОЛЬЗОВАНИЕМ СУРРОГАТНЫХ МОДЕЛЕЙ
об уровне шума. И последний критерий, который хотелось бы упомянуть – ограничения определенного типа суррогатных моделей. Некоторые методы плохо подходят для
работы с большими выборками или высокой размерностью.
Когда построена первоначальная модель ŷ0 , начинается итеративный процесс. На
каждой (i-ой) итерации выбираются новые точки в соответствии с некоторым критерием, в этих точках вычисляется изучаемая функция y. Полученные точки добавляются
к обучающей выборке, после чего обучается новая, в некотором смысле уточненная
модель ŷi и процесс повторяется, пока не достигнут критерий остановки. Простейшим
примером критерия остановки является достижение заданного количества вычислений
функции y.
Что же становится результатом исследования y(x) по такому шаблону? Это зависит
от критерия выбора новых точек на шаге 4. Стоит выделить два широко распространенных использования схемы 3.2. Первый – построение максимально точной суррогатной
модели для дальнейшего использования, так называемая задача построения адаптивного плана эксперимента. Второй – поиск глобального минимума функции y(x). Он и
представляет для нас интерес.
3.3
Построение обучающей выборки
В этой и последующих частях этой главы, мы будем обсуждать применение схемы 3.2
к решению задачи 1.1, с учетом обозначений из главы 1.
Сразу введем важное упрощающее предположение – методы суррогатного моделирования будут применены только к целевой функции f (x), а ограничения всегда будут
вычисляться непосредственно. Не составляет большого труда привести обобщение и
на случай, когда все или часть ограничений также будут заменены соответствующими
аппроксимациями. Однако, это потребует большего количества дополнительных обозначений и затруднит изложение основной идеи рассматриваемого подхода.
Входными данными для алгоритмов построения аппроксимаций является обучающая выборка, то есть конечное множество пар S = {(xi , f (xi )), i = 1 . . . n}. Точность
суррогатных моделей в общем случае падает по мере удаления от точек обучающей выборки. Кроме того, очевидно, невозможно покрыть неограниченную область конечным
числом точек. Поэтому исследование функции f (x) по схеме 3.2 следует проводить на
Q
ограниченном множестве, например вида X = i [ai , bi ]. В контексте оптимизационной
задачи это значит, что для эффективного применения суррогатных моделей мы будем
требовать наличия коробочных огранений для каждой входной переменной. Также отсюда следует, что для получения наиболее качественной модели важно равномерное
покрытие исследуемой области X. Для этого используются методы построения планов
22
ГЛАВА 3. ОПТИМИЗАЦИЯ С ИСПОЛЬЗОВАНИЕМ СУРРОГАТНЫХ МОДЕЛЕЙ
эксперимента. За подробным рассмотрениям этих методов и формальными определениями равномерности можно обратится к книгам и работам [14], [6], [13].
Если же учесть наличие в оптимизационной задаче ограничений, становится ясно,
что точки обучающей выборки должны принадлежать допустимому множеству Q, поскольку поведение целевой функции вне допустимого множества не влияет на решение.
Таким образом, задача построения начальной выборки в схеме 3.2 может быть сформулирована следующим образом – равномерно выбрать n точек x ∈ Q. Простейший,
но неэффективный алгоритм – случайно выбирать точки из X, оставляя только те,
которые удовлетворяют ограничениям, пока не наберется n точек.
Отдельно стоит обсудить выбор количества точек в обучающей выборке, то есть
числа n. Не зная вида целевой функции, можно сказать, что этот выбор полностью
определяется количеством входных переменных N – чем выше размерность входных
переменных, тем больше точек потребуется для построения точной суррогатной модели.
Это является одним из основных ограничений на применимость суррогатных моделей
для оптимизационных задач, что легко наблюдается эмпирически. Теоретическое же
рассмотрение этого вопроса заслуживает отдельной работы.
3.4
Критерии выбора новых точек
Как же построить на основе схемы 3.2 эффективный алгоритм глобальной оптимизации? Ключевое решение – правильный выбор критерия выбора новых точек x, соотсветствующий на схеме шагу 3. В этой части мы рассмотрим два наиболее распространенных в литературе критерия.
Для полного описания конкретного критерия, достаточно рассмотреть его работу
на единственном, i-ом шаге итеративного процесса. Чтобы не вносить путаницы, будем
продолжать говорить о функции y(x), подразумевая, что y(x) ≡ f (x). Кроме того, будет
полезно одно новое обозначение – вектор всех известных на текущем шаге значений
исследуемой функции:
yi = |f (x1 ), . . . , f (xni )| = |yi1 , . . . , yini |
Максимизация вероятности улучшения
Одним из первых и наиболее изученных критериев, применимых для поиска глобального минимума является максимизация вероятности улучшения (англ. probability of
improvement). Первое описание этого метода было приведено Гарольдом Кушнером еще
в 1964 году, в работе [9].
23
ГЛАВА 3. ОПТИМИЗАЦИЯ С ИСПОЛЬЗОВАНИЕМ СУРРОГАТНЫХ МОДЕЛЕЙ
Так же, как и при выводе кригинга в начале главы, предположим, что функция
y(x) может быть представлена как реализация случайной, нормально распределенной
величины Y (x). Пусть среднее значение и стандартное отклонение (оцененные в каждой
точке с помощью, например, кригинга) обозначены как ŷ(x) и s(x) соответственно.
Если наилучшее известное значение функции на текущем шаге итеративного процесса
– fmin = mink yik , а T < fmin – некоторое целевое значение, то вероятность достигнуть
этого и меньших значений:
P I(x, T ) = Pr[Y (x) ≤ T ] = Φ
T − ŷ(x)
s(x)
где Φ(.) – стандартная нормальная функция распределения. На каждой итерации
метода, нужно найти максимум данной функции. Здесь проявляется уже упомянутое в
начале работы свойство оптимизационных алгоритмов – для решения исходной задачи
нужно решить другую оптимизационную задачу. Тем не менее, исследовать P I(x, T )
легче, чем исходную функцию, в частности, потому что для этого не нужно вычислять
исходную функцию, а лишь ее быструю суррогатную модель.
Рис. 3.3: Метод максимизации вероятности улучшения
24
ГЛАВА 3. ОПТИМИЗАЦИЯ С ИСПОЛЬЗОВАНИЕМ СУРРОГАТНЫХ МОДЕЛЕЙ
Можно показать, что итерации по методу максимизации вероятности улучшения
при некоторых дополнительных предположения порождают плотную последовательность, гарантируя, таким образом, нахождение глобального минимума. Этот результат
получен в работе [7]. Интуитивно, это можно понять следующим образом – чем больше
вычислений набирается рядом с текущей наилучшей точкой, тем меньше становится
стандартное отклонение в этой области. Аргумент функции распределения
T − ŷ(x)
s(x)
приобретает большое по модулю отрицательное значение (так как обычно T < ŷ(x))
и, таким образом, функция P I(x) приближается к нулю. В какой-то момент итерации
перейдут в другую область исследуемого множества, где стандартное отклонение s(x)
будет больше.
Впечатляющая эффективность данного метода показана на многих задачах. Однако
есть и существенные недостатки, главный из которых – сложность правильного выбора
целевого значения T . Если выбрать T слишком близким к fmin , то алгоритм становится
слишком локальным, на протяжении множества итерации оставаясь в районе известного минимума. С другой стороны, если желаемое улучшение fmin − T будет слишком
велико, то поиск становится слишком глобальным и потребует много итераций для
«уточнения» каждого кандидата на минимум.
Есть два основных способа обойти данную проблему. Первый – изменить сам метод
так, чтобы избавится от параметра T , в результате получая метод максимизации ожидаемого улучшения, который будет описан далее. Второй – использовать несколько различных значений T на каждой итерации метода. В результате, очевидно, результатом
каждого шага будут несколько точек, которые будут добавлены к обучающей выборке.
В результате, если «глобальная» ветвь метода (где fmin −T велико), будет открывать новые перспективные области, туда немедленно устремится локальный поиск (где fmin −T
относительно мало). Кроме того, выбор нескольких точек за итерацию потенциально
позволяет вычислять функцию в каждой точек параллельно, ускоряя оптимизацию.
Максимизация ожидаемого улучшения
Метод максимизации ожидаемого улучшения, как можно понять из названия, основан
на вычислении того, насколько можно улучшить минимальное достигнутое значение
исследуемой функции fmin . Как и ранее, мы рассматриваем поведение случайное величины Y (x), имеющей нормальное распределение. Обозначим возможное улучшение
как I(x) = fmin − Y (X. Тогда вероятность его достигнуть задается функцией плотности
нормального распределения:
25
ГЛАВА 3. ОПТИМИЗАЦИЯ С ИСПОЛЬЗОВАНИЕМ СУРРОГАТНЫХ МОДЕЛЕЙ
Рис. 3.4: Метод максимизации ожидаемого улучшения
(fmin − I(x) − ŷ(x))2
1
√ exp −
2s2 (x)
s(x) 2π
Математическое ожидание улучшение, таким образом, можно получить интегрированием величины I с этой функцией плотности:
Z
I=∞
EI(x) =
I=0
1
(fmin − I(x) − ŷ(x))2
√ exp −
I
dI
2s2 (x)
s(x) 2π
Интегрируя по частям, приходим к следующему выражению:
EI(x) = s(x) (uΦ(u) + φ(u))
где
u(x) =
fmin − ŷ(x)
s(x)
а Φ(.) и φ(.) - функции распределения и плотности распределения нормальной слу-
26
ГЛАВА 3. ОПТИМИЗАЦИЯ С ИСПОЛЬЗОВАНИЕМ СУРРОГАТНЫХ МОДЕЛЕЙ
чайной величины, соответственно. Таким образом, на каждой итерации по методу максимизации ожидаемого улучшения, в качестве новой точки будем выбирать x∗ = argmax EI(x).
Так же, как и в случае метода максимизации вероятности улучшения, в литературе
можно найти доказательство того, что получаемая такими итерациями последовательность точек будет плотной (в работе [10]). Это позволяет гарантировать, что рано или
поздно эти итерации приблизятся к глобальному минимуму.
Можно выделить два основных преимущества метода максимизации ожидаемого
улучшения. Во первых, мы избегаем введения лишнего параметра T , который не всегда
легко правильно выбрать. Во вторых, для него можно предложить естественный критерий остановки – «остановить итерации, если maxx EI(x) меньше заданного малого
положительного числа».
Однако есть и потенциальные проблемы. Все методы, построенные по схеме 3.2 чувствительны к начальной выборке, построенной на шаге 1. При недостаточном числе
точек и/или неудачном их выборе, может потребоваться намного больше итерации для
достижения хорошего результата.
При этом, в модифицированном (см. предыдущую часть) методе максимизации вероятности улучшения, всегда есть «искуственн» привнесенный глобальный поиск, что
позволяет частично решить эту проблему. А рассматриваемый критерий на основе ожидаемого улучшения может провести много итераций вокруг наблюдаемого минимума,
который может быть сколь угодно далек от истинного.
Аналогичная проблема наблюдается и с предложенным критерием остановки – если
начальная выборка плохо передает поведение функции, то алгоритм может сойтись
слишком рано, так и не приблизившись к искомому глобальному минимуму.
27
Глава 4
Построение алгоритма
Многообразие возникающих оптимизационных задач требует все новых алгоритмов для
их решения. Большое количество входных переменных, ограничений и целевых функций, вычислительная сложность, сложный профиль оптимизируемых функций – лишь
наиболее простые примеры факторов, каждый из которых делает выбор оптимизационного алгоритма критически важным.
Сконцентрируем внимание на вычислительной сложности. Представим, что единственное вычисление одной из целевых функций может потребовать несколько часов
или дней реального времени, что часто наблюдается в актуальных практических задачах, например, при анализе сложных физических моделей. Естественным приоритетом
для алгоритма оптимизации в данном случае будет получение решения за минимальном
количество вычислений такой функций, чему так или иначе стараются удовлетворить
большинство существующих алгоритмов. Однако в самых сложных случаях, важным
становится еще одно, более редкое свойство оптимизационного алгоритма – возможность явно установить допустимое количество вычислений, так называемый бюджет.
Правильный выбор бюджета представляет из себя отдельную проблему, которая выходит за рамки данной работы. Интуитивно понятно, если к вычислительной сложности
добавить необходимость многокритериальной оптимизации или поиска глобального минимума, необходимость экономно распоряжаться вычислениями только возрастает.
В этой главе мы рассмотрим построение оригинального алгоритма оптимизации,
предназначенного для работы с вычислительно сложными многокритериальными задачами. Формальная цель – найти решение глобальной задачи многокритериальной
оптимизации, которая была сформулирована в главе 2, вычислив целевые функции не
более B раз.
Прежде чем начать описание алгоритма, для простоты введем следующее предположение – будем считать вычислительно сложными только целевые функции, таким образом оставив себе возможность быстро вычислять ограничения. Более общий случай
28
ГЛАВА 4. ПОСТРОЕНИЕ АЛГОРИТМА
будет кратко описан в конце главы. Кроме того, мы потребуем, чтобы на все входные
переменные были наложены коробочные ограничения – это необходимо для того, чтобы
гарантировать, что область поиска ограничена.
4.1
Структура алгоритма
В основе предлагаемого алгоритма лежит многокритериальное обобщение рассмотренных в главе 3 методов оптимизации с использованием суррогатных моделей с помощью
адаптивного метода скаляризации, позволяющее одновременно использовать сильные
стороны обоих подходов и сгладить основные недостатки.
Ключевую роль в этом играет построение архива вычислений целевых функций,
который будет использоваться для построения все более точных суррогатных моделей.
Использование этого архива позволяет связать друг с другом решение обычно независимых скаляризованных задач, таким образом, не теряя извлекаемой из каждого
вычисления информации о целевых функциях.
При каждом добавлении новых точек в архив вычислений, производится перестроение суррогатных моделей, отдельно для каждой из K целевых функции. Методом
построения суррогатных моделей выбран уже рассмотренный кригинг. Полученные по
модели предсказания среднего значения и стандарного отклонения для i-ой целевой
функции будем обозначать как F̂i и ŝi соответственно.
Алгоритм можно разделить на два основных этапа – в начале производится поиск якорных точек, задающих некий объем в пространстве целевых функций, в котором расположен Парето-фронт, после чего начинается итеративный процесс уточнения
Парето-фронта. Для поиска каждой якорной и каждой новой Парето-оптимальной точки решается новая скаляризованная подзадача. Суммарное количество этих подзадач
P ≥ K – один из важнейших параметров алгоритма. Заданный при постановке задачи
бюджет вычислений неравномерно делится между подзадачами, причем ввиду важности, предпочтение отдается начальным задачам поиска якорных точек.
4.2
Построение начальной выборки
Так же, как и в схеме 3.2, работа алгоритма начинается с построения начальной выборки точек, равномерно заполняющих допустимое множество Q. Количество точек n
в начальной выборке будем определять по правилу n = kN , где k – эвристический
подобранный коэффициент.
Выделим из всех функций-ограничений только линейные ограничения типа неравенства и коробочные ограничения. Пусть они задают в пространстве целевых функций
29
ГЛАВА 4. ПОСТРОЕНИЕ АЛГОРИТМА
область QL . Эта область будет ограничена, так как мы требуем наличия коробочных
ограничений для всех входных переменных. Для равномерного заполнения области QL
используем алгоритм генерации случайных точек внутри политопа (см. работу [1]). Выбрав таким образом n случайных точек, вычислим в каждой из них целевые функции
F и поместим полученные точки в архив вычислений.
4.3
Однокритериальный метод
В процессе работы алгоритма мы будет возникать несколько типов однокритериальных
подзадач. Для их решения предлагается использовать усовершенствованную версию
метода максимизации вероятности улучшения, описанного в главе 3.
Напомним основную идею метода. Предположим, что целевую функцию в каждой можно рассматривать как реализацию некой случайной величины. Как правило,
этой случайной величине предписывают нормальное распределение. Мы можем оценить среднее и стандартное отклонение этой случайной величины для любой точки
x, например, с помощью использования суррогатной модели на основе кригинга. Используя эти данные, мы можем оценить вероятность достигнуть некоторого целевого
значения. Если зафиксировать это целевое значение ниже известного на данный момент минимума, то максимизируя эту вероятность мы получаем точку-кандидата на
1. Построение начальной выборки данных
Архив вычислений
2. Поиск якорных точек
3. Адаптивная скаляризация
4. Исследование Парето-фронта
Рис. 4.1: Схема работы алгоритма
30
ГЛАВА 4. ПОСТРОЕНИЕ АЛГОРИТМА
новый минимум. Повторяя этот процесс итеративно, при этом добавляя каждую полученную точку к обучающей выборке суррогатной модели, мы получаем метод поиска
глобального минимума.
Каждая задача максимизации вероятности улучшения решается с использованием традиционных локальных методов, таких как метод Ньютона. Для организации
глобального поиска задача решается для множества начальных точек, а конкретно,
в качестве начальных точек мы будем выбирать середины каждого из отрезков между точками выборки, использованной для обучения суррогатных моделей на текущей
итерации алгоритма. При этом учитываются все ограничения, поставленные для исходной задачи – воспользуемся предположением, что функции-ограничения не являются
вычислительно сложными.
Ключевой фактор для эффективного использования этого метода – правильный
выбор целевого значения. Однако, мы как правило не имеем для этого достаточно
информации. Поэтому для повышения надежности метода предлагается использовать
несколько разных целевых значений. Решая задачу максимизации вероятности улучшения для каждого из них, мы получим различные точки-кандидаты на минимум.
Рассмотрим, как можно это использовать, чтобы полученный метод одновременно производил и локальный поиск – для уточнения известного минимума, и глобальный – для
открытия новых перспективных областей для исследования.
Пусть fmin и fmax – известные по текущей обучающей выборке минимальное и максимальное значения оптимизируемой функции. Будем выбирать целевое значение T
следующим образом:
T (α) = fmin − α(fmax − fmin ), α ≥ 0
Для того, чтобы добиться смешанного глобального и локального поиска, достаточно
лишь выбрать несколько значений α, одно из которых равно или близко к нулю.
Однако, мы не можем гарантировать, что полученные при разных α решения будут
существенно различаться. Возникает новая проблема, требующая решения – крайне
нежелательно вычислять оптимизируемую функцию в очень близких точках, так это
принесет нам мало новой информации. Чтобы обойти этот эффект, после решения задачи максимизации вероятности улучшения для всех рассматриваемых α, используем
алгоритм кластеризации, и из каждого выделенного кластера выберем единственную
точку для вычисления.
Итерации метода останавливаются или по достижении выделенного на задачу бюджета вычислений, или если достигнутое улучшение за последнюю итерацию слишком
мало.
31
ГЛАВА 4. ПОСТРОЕНИЕ АЛГОРИТМА
Теперь обсудим обобщение этого метода, необходимое для его использования вместе
со скаляризацией. Для работы метода необходима оценка вероятности улучшения минимизируемой функции, которая выражается через среднее значение и дисперсию. Возникает два основных варианта – мы можем либо строить суррогатную модель непосредственно для функции скаляризации, либо найти способ выразить необходимые оценки
через предсказания суррогатных моделей, построенных для каждой целевой функции
в отдельности. Ввиду сложного профиля многих скаляризационных функций, второй
способ оказывается обычно более эффективным на практике. Поэтому для каждой используемой скаляризации нам потребуется указать формулу или алгоритм для вычисления среднего значения и стандартного отклонения, что и будет сделано далее.
4.4
Поиск якорных точек
Как и многие многокритериальные методы, важную роль для работы алгоритма играет знание якорных точек. Якорные точки задают диапазоны изменения каждого из
оптимизируемых критериев на Парето-фронте.
По определению, для поиска якорных точек необходимо решить однокритериальную
задачу минимизации Fi (x) для каждой из K целевых функций. Однако на практике такой подход может оказаться неэффективным. Возникающую проблему легко понять в
случае K = 2 – предположим, что Парето-фронт оканчивается достаточно длинными
(по сравнению с масштабом остального форнта) горизонтальными или вертикальными отрезками. В таком случае, найденное без учета второй целевой функции решение
задачи min Fi может оказаться в любой точке такого отрезка. Это, в свою очередь,
может привести к формально верной, но непрактичной оценке объема, в котором расположена нетривиальная часть Парето-фронта, что сильно снизижает эффективность
дальнейшей работы алгоритма.
Для решения этой проблемы предлагается следующий подход – изменить задачу
min Fi для учета всех целевых функций с помощью линейной скаляризации U (x) =
PK
i=1 wi Fi . При поиске k-го якоря наибольший вес 1 присваивается k-ой целевой функции, остальным целевым функциям присваиваются малые веса
1
,
W
где W > 1 – эмпи-
рически подобранное число. Такой подход позволяет исключить из рассмотрения слабо
Парето-оптимальными решения, и получить более практичеую оценку якорных точек.
При этом мы неявно требуем, чтобы целевые функции имели примерно одинаковый
масшаб значений. Это требование типично для многих алгоритмов и сочтено допустимым.
Каждая задача поиска якорной точки решается уже рассмотренным однокритериальным методом на основе суррогатных моделей. Так как распределние взвешенной
32
ГЛАВА 4. ПОСТРОЕНИЕ АЛГОРИТМА
суммы нормально распределенных величин U F также является нормальным, мы можем выразить необходимые среднее значение Û и стандатное отклонение sU через предсказания суррогатных моделей для каждой целевой функции следующим образом:
Û =
K
X
wi F̂i
i=1
v
uK
uX
sU = t
wi2 s2i
i=1
Таким образом, мы получаем возможность поставить задачу максимизации вероятности улучшения для поиска якорных точек. После решения K таких задач, проверяется, ни одна из найденных точек не доминирована другими. Если это не так, то
работа алгоритма прекращается, так как для дальнейшей работы необходимо знание
объема в пространстве целевых функций, в котором предположительно расположен
Парето-фронт. Если же такой объем найден, то алгоритм переходит на следующий
этап – уточнение Парето-фронта с помощью адаптивной скаляризации.
4.5
Скаляризация
Для применения однокритериального метода к исследованию Парето-фронта необходимо выбрать тот или иной метод скаляризации. Потенциальные проблемы, связанные с
применением скаляризации к многокритериальным задачам уже обсуждались в главе
2. Однако, как мы увидим далее, эти недостатки скаляризации можно обойти или, по
крайней мере, уменьшить.
Функция скаляризации
Первый характерный недостаток скаляризации – в зависимости от выбора скаляризационной функции, некоторые участки Парето-фронта могут оказаться недостижимы.
Для борьбы с этим предлагается следующая скаляризационная функция:
U = max uk
k
uk = αk (Fk − βk )
Здесь α – вектор весов, а β – вектор сдвига. Величины uk принимают равные значения вдоль прямой с направляющим вектором α, проходящей через точку β. Таким
33
ГЛАВА 4. ПОСТРОЕНИЕ АЛГОРИТМА
образом, минимизация такой функции приводит к поиску Парето-эффективных точек вдоль этой прямой, так как в невырожденном случае точки вне прямой заведомо
неоптимальны.
Для использования такой скаляризации в предложенном однокритериальном алгоритме необходимо найти способ выразить среднее и стандартное отклонение соответствующей случайной величины через предсказания суррогатных моделей F̂i (x) и si (x).
В силу линейности функции uk (F̂k ), распределение случайной величины ûk остается
нормальным.
Поведение максимума двух нормально распределенных величин (то есть при K = 2)
хорошо исследовано в литературе. Воспользуемся выражениями для первого и второго
моментов этого распределения, приведенными в статье [11]:
Û = E(U ) = F̂1 Φ
!
F̂1 − F̂2
+ F̂2 Φ
+ θφ
θ
!
!
F̂1 − F̂2
F̂
−
F̂
2
1
+ (s22 + F̂22 )Φ
+ (F̂12 + F̂22 )θφ
θ
θ
F̂1 − F̂2
θ
E(U 2 ) = (s21 + F̂12 )Φ
!
F̂2 − F̂1
θ
!
F̂1 − F̂2
θ
!
q
где θ = s21 + s22
Для нахождения стандартного отклонения остается воспользоваться известной форp
p
мулой для дисперсии случайной величины sU = D(U ) = E(U 2 ) − E(U )2 .
Случай же K ≥ 3 существенно более сложен. Начнем с вывода функции распределения для максимума из K случайных величин. Обозначим искомую функцию распределения как P (t), а функции распределения величин uk как Pk (t). Тогда, если предположить независимость случайных величин uk , можно использовать определение функции
распределения:
P (t) = Pr{max uk ≤ t} = Pr{u1 ≤ t∩. . .∩uK ≤ t} = Pr{u1 ≤ t} · · · Pr{uK ≤ t} =
k
K
Y
k=1
Для вычисления моментов воспользуемся формулой из книги [2]:
n
Z
∞
E(U ) =
ntn−1 [1 − Pr{U > t} + (−1)n Pr{U < −t}] dt
t=0
С учетом полученного выражения для P (t), можно записать:
34
Pk (t)
ГЛАВА 4. ПОСТРОЕНИЕ АЛГОРИТМА
Z
∞
[1 − P (t) − P (−t)] dt
Û = E(U ) =
E(U 2 ) =
Zt=0
∞
2t [1 − P (t) + P (−t)] dt
t=0
p
Аналогично случаю при K = 2, стандартное отклонение находим по формуле sU =
p
(D(U )) = (E(U 2 ) − E(U )2 ). Так как возникшие интегралы являются одномерными,
они эффективно вычисляются численными методами интегрирования.
Адаптивный выбор параметров
Другим важнейшим недостатком использования скаляризации для решения глобальной задачи многокритериальной оптимизации традиционно считается неравномерное
покрытие Парето-фронта решениями. Однако, зная конкретный вид скаляризационной функций можно построить такую схему выбора её параметров, чтобы свести эту
проблему к минимуму.
Как уже говорилось, предлагаемая скаляризационная функция параметризована
двумя векторами α и β длины K и задает в пространстве целевых функций направление
поиска вдоль определенной прямой.
Предположим, что необходимо произвести поиск оптимальных точек вдоль прямой,
соединяющей две точки a и b, ak < bk ∀ k ∈ {1, . . . , K}. Для простоты дальнейшего
вывода перепишем функцию U в следующей эквивалентной форме:
U = max uk
k
u = α̃F + β̃
где α̃ – диагональная матрица K × K, β̃ – вектор длины K. Добавим условие нормировки, полезное на практике для численных алгоритмов – в диапазоне a ≤ F ≤ b будем
требовать 0 ≤ uk ≤ 1. Тогда искомые параметры скаляризационной функций можно
найти из следующей системы:
(
α̃a + β̃ = 0
α̃b + β̃ = 1
Решив систему, получаем:
35
ГЛАВА 4. ПОСТРОЕНИЕ АЛГОРИТМА
1
b k − ak
−ak
β̃k =
b k − ak
α̃kk =
Используем выведенные формулы для построения адаптивного подбора параметров.
После успешного поиска K якорных точек, мы можем восстановить по ним объем,
в котором расположен Парето-фронт. Обозначим значения целевых функций в этих
точках как Mk . Выберем a0 и b0 следующим образом:
a0i = min Mki
j
b0i = max Mki
j
Решим однокритериальную задачу, выбрав параметры скаляризационной функции
по приведенным выше формулам относительно векторов a0 и b0 . Из привиденных в
главе 2 определений легко увидеть, что верно найденные якорные точки не могут быть
доминированы. Учитывая свойства задачи, значение целевых функций c0 в точке, являющейся решением, будет лежать на отрезке, соединяющием a0 и b0 .
Точки a0 и b0 задают утопию и надир для некоторого объема V , а точка c0 лежит внутри него. Разобъем этот объем точкой c0 на 2K подобъемов. Если c0 найдено
корректно (является глобальным минимумом для скаляризовнной задачи), то объем
V ∩ {y : y < c0 } не содержит достижимых точек. Объем V ∩ {y : y > c0 } также можно
исключить из рассмотрения, так как любые достижимые точки в нем доминированы
точкой c0 . Исключив из рассмотрения эти два объема, остается 2K −2 объемов, которые
могут содержать новые Парето-оптимальные решения.
Теперь можно описать итеративный алгоритм адаптивного подбора параметров α̃
и β̃. Для этого введем множество V активных объемов. Перед началом работы оно
состоит из единственного объема V0 , заданного якорными точками. На i-ой итерации
мы выбираем из множества V наибольший объем. Пусть его утопия и надир – ai и bi ,
соответственно. Вычислив параметры скаляризационной функции, находим точку ci
внутри этого объема и выделяем 2K − 2 объемов и добавляем их к множеству V. Таким образом, мы получаем последовательность однокритериальных задач, постепенно
уточняющую Парето-фронт.
На рисунке 4.2 проиллюстрирована работа алгоритма в случае K = 2, на примере
первых двух итераций. Мы рассмотрим примеры детально востановленного Паретофронта далее, в главе 5.
36
ГЛАВА 4. ПОСТРОЕНИЕ АЛГОРИТМА
Рис. 4.2: Адаптивная скаляризация, K = 2
4.6
Возможные обобщения
Для того, чтобы описать основную идею алгоритма, мы сделали несколько упрощающих предположений. Однако, при разработке эффективной реализации алгоритма,
для повышения эффективности работы необходимо максимум информации о задаче. В
этой части без каких-либо деталей опишем полезные для практического использования
37
ГЛАВА 4. ПОСТРОЕНИЕ АЛГОРИТМА
обобщения.
Первое, что предполагается сделать – добавить возможность работы с вычислительно сложными ограничениями. При постановке задачи пользователь алгоритма может
пометить часть ограничений. После этого, вычисленные значения этих ограничений
также будут попадать в архив вычисления, а во время решения задачи максимизации
вероятности улучшения, эти ограничения будут заменятся построенными для них суррогатными моделями.
Второе важное усовершенствование – работа в случае, когда часть целевых функций
все-таки могут быть быстро вычислены (однако мы требуем, чтобы хотя бы одна из них
считалась вычислительно сложной). Так же, как и в случае с ограничениями, такие
целевые функции должны быть выделены пользователем алгоритма при постановке
задачи. После этого, для них не будут использованы суррогатные модели, а во время
решения подзадач для таких целевых функций, будем считать, что F̂i = Fi и si = 0.
Это позволяет уменьшить количество обучаемых суррогатных моделей и сэкономить
на этом время.
Третье – учесть неточности при решения подзадач исследования Парето-фронта.
Если полученная на i-ой итерации точка ci не является Парето-оптимальной, алгоритм
может отбросить текущий исследуемый объем и перейти к следующему. Более сложен
случай, когда эта точка наоборот доминирует одну из уже найденных. В таком случае
предлагается использовать следующий прием – перестроить текущее множество активных объемов V по всем известным оптимальным точкам и продолжить работу алгоритма. Это становится особенно важным при сильно ограниченном бюджете вычислений,
так как точность решения подзадач при этом, естественно, уменьшается.
38
Глава 5
Примеры решения задач
Оценка производительности алгоритмов многокритериальной оптмизации сама по себе является нетривиальной и громоздкой задачей, поэтому широкое и в должной мере
формальное тестирование в рамках этой работы проводить, по крайней мере, нецелесообразно. Что необходимо сделать – подобрать несколько задач, на примере решениях
которых можно увидеть сильные и слабые стороны предложенного алгоритма и сравнить его с методами других типов.
5.1
Методика сравнения
Всего в сравнении участвуют 3 алгоритма:
SAS — предложенный в работе алгоритм
GTOpt — градиентный метод многокритериальной оптимизации, основанный на локальной геометрии множества Парето
NSGA2 — генетический алгоритм многокритериальной оптимизации [3]
При решении однокритериальной задачи минимизации, для оценки качества решения достаточно просто сравнить достигнутые минимумы. Однако решения многокритериальной задачи, то есть полученные в результате работы алгоритма Парето-фронты,
несравнимы между собой напрямую. То есть, пусть P 0 и P 00 – два множества точек (в
пространстве целевых функций), полученные в результате работы двух алгоритмов на
одной задаче. Так как часть точек из P 0 может доминировать какие-то точки из P 00 и
наоборот, мы не можем однозначно сказать, какой из результатов лучше.
Поэтому для сравнения алгоритмов нужна специальная метрика. Мы будем использовать метрику Q, основанную на расстоянии Хаусдорфа между множествами. Пусть
39
ГЛАВА 5. ПРИМЕРЫ РЕШЕНИЯ ЗАДАЧ
Рис. 5.1: Метрика Q
A и B – два подмножества некоторого метрического пространства с метрикой ρ, тогда
расстояние Хаусдорфа между A и B определяется по формуле
d(A, B) = max(sup ρ(x, B), sup ρ(y, A))
x∈A
(5.1)
y∈B
где ρ(x, B) = inf y∈B ρ(x, y).
Пусть теперь ρ — евклидова метрика, A — множество, доминируемое истинным
Парето-фронтом, B — множество, доминируемое приблизительным Парето-фронтом
(результатом работы алгоритма). Определим
Q(P ) = d(Ptrue + Rn+ , P + Rn+ ) = sup ρ(p, P + Rn+ ).
p∈Ptrue
Чем приблизительный Парето-фронт «ближе» к истиному Парето-фронту, тем значение Q меньше (см. Рис. 5.1).
Другой важный критерий, который необходимо учитывать при сравнении алгоритмов оптимизации – это количество вычислений целевых функций. Хорошим можно
назвать алгоритм, который может получить хорошее приближение Парето-фронта за
минимальное количество итераций, таким образом, сравнение результатов многокритериальной оптимизации во многом схоже с самой задачей.
40
ГЛАВА 5. ПРИМЕРЫ РЕШЕНИЯ ЗАДАЧ
Также стоит учесть время работы алгоритмов. Конечно, абсолютные значения времени будут определяются доступными вычислительными ресурсами, поэтому все задачи решены с помощью одного и того же компьютера.
Так как для вычисления метрики Q необходимо знать точный Парето-фронт, сравнение будет проведено на специальных тестовых задачах, взятых из статьи [8]. Особенность этих задач – они определены для любого числа входных переменных N ≥ 2.
Чтобы оценить изменение эффективности алгоритмов с изменением размерности пространства входных переменных, мы будем использовать несколько значений N .
5.2
Результаты
ZDT1
min|F1 , F2 |
x∈Q
F 1 = x1
s
F2 = 1 −
F1
g
Q = [0, 1]N
где g = 1 + 9
N
X
i=2
Aлгоритм
SAS
NSGA2
GTOpt
Количество итераций
87
120
127
xi
N −1
Q
0.0294
0.179
0.0307
Время работы
61.7c
0.8c
0.7c
Таблица 5.1: ZDT1, n = 2
Aлгоритм
SAS
NSGA2
GTOpt
Количество итераций
124
800
216
Q
0.0307
0.081
0.048
Таблица 5.2: ZDT1, n = 5
41
Время работы
171.3c
2.1c
1.1c
ГЛАВА 5. ПРИМЕРЫ РЕШЕНИЯ ЗАДАЧ
ZTD1, n = 2
1.0
NSGA2
SAS
GTOPT
0.8
f2
0.6
0.4
0.2
0.00.0
0.2
0.4
f1
0.6
0.8
1.0
Рис. 5.2: ZDT1, n = 2
ZTD1, n = 5
1.0
NSGA2
GTOPT
SAS
0.8
f2
0.6
0.4
0.2
0.00.0
0.2
0.4
f1
0.6
Рис. 5.3: ZDT1, n = 5
42
0.8
1.0
ГЛАВА 5. ПРИМЕРЫ РЕШЕНИЯ ЗАДАЧ
ZDT2
min|F1 , F2 |
x∈Q
F 1 = x1
F1
g
F2 = 1 −
2
Q = [0, 1]N
где g = 1 + 9
N
X
i=2
Aлгоритм
SAS
NSGA2
GTOpt
Количество итераций
88
600
114
xi
N −1
Q
0.031
0.101
0.029
Время работы
63.5c
1.8c
0.7c
Таблица 5.3: ZDT2, n = 2
Aлгоритм
SAS
NSGA2
GTOpt
Количество итераций
115
960
211
Q
0.032
0.166
0.029
Таблица 5.4: ZDT2, n = 5
43
Время работы
194.5c
2.5c
1.2c
ГЛАВА 5. ПРИМЕРЫ РЕШЕНИЯ ЗАДАЧ
ZTD2, n = 2
1.0
NSGA2
SAS
GTOPT
0.8
f2
0.6
0.4
0.2
0.00.0
0.2
0.4
f1
0.6
0.8
1.0
Рис. 5.4: ZDT2, n = 2
ZTD2, n = 5
1.0
NSGA2
SAS
GTOPT
0.8
f2
0.6
0.4
0.2
0.00.0
0.2
0.4
f1
0.6
Рис. 5.5: ZDT2, n = 5
44
0.8
1.0
ГЛАВА 5. ПРИМЕРЫ РЕШЕНИЯ ЗАДАЧ
ZDT3
min|F1 , F2 |
x∈Q
F1 = x 1
s
F2 = 1 −
F1
−
g
F1
g
sin(10πF1 )
Q = [0, 1]N
где g = 1 + 9
N
X
i=2
Aлгоритм
SAS
NSGA2
GTOpt
xi
N −1
Количество итераций
134
240
172
Q
0.194
0.204
1.015
Таблица 5.5: ZDT3, n = 2
45
Время работы
206c
1.2c
0.9c
ГЛАВА 5. ПРИМЕРЫ РЕШЕНИЯ ЗАДАЧ
ZTD3, n = 2
1.0
NSGA2
SAS
GTOPT
0.8
f2
0.6
0.4
0.2
0.00.0
0.2
0.4
f1
0.6
Рис. 5.6: ZDT3, n = 2
46
0.8
1.0
Глава 6
Заключение
Подытожим полученные результаты и сделаем выводы из производительности алгоритма на тестовых задачах.
Отметим сильные стороны алгоритма. В приведенных задачах мы видим, что он
не уступает высоко-эффективному градиентному методу, при этом сохраняя возможность управления бюджетом вычислений. Кроме того, на примере задачи ZDT3 мы видим преимущество глобального поиска – градиентный метод не справляется с поиском
Парето-фронта без задания правильной начальной точки. Таким образом, предложенный алгоритм позволяет найти хорошее приближение Парето-множества с минимальными априорными знаниями о задаче.
Ключевой недостаток алгоритма – высокая вычислительная сложность. Обучение
большого числа суррогатных моделей и глобальная поиск максимума вероятности улучшения требует существенных затрат времени. Однако, так как алгоритм предназначен
для работы с вычислительно сложными целевыми функциями и ограничениями, это не
так важно на практике. Чем дольше вычисление оптимизируемой функции, тем меньше
будет относительное время работы алгоритма.
В качестве направлений дальнейшей работы предполагается, в первую очередь, усовершенствовать алгоритм решения однокритериальных задач. Кроме того, исследования требует потенциальная возможность использовать методы построения суррогатных
моделей, отличные от кригинга. Развитие алгоритма в этих направлениях позволит сократить вычислительную сложность алгоритма, и, таким образом, позволит применять
его к большему числу задач.
47
Литература
[1] K. L. Clarkson. Algorithms for polytope covering and approximation. Lecture Notes in
Computer Science, 709:246 – 252, 1993.
[2] H. David. Order statistics, 2nd ed. Wiley, 1981.
[3] K. Deb, A. Pratap, S. Agarwal, and T. Meyarivan. A fast and elitist multiobjective
genetic algorithm: Nsga-ii. Evolutionary Computation, IEEE Transactions on, 6(2):182–
197, 2002.
[4] G. Eichfelder. Adaptive Scalarization Methods in Multiobjective Optimization. Springer,
2008.
[5] A. Forrester, A. Sóbester, and A. Keane. Engineering design via surrogate modelling: a
practical guide. Progress in astronautics and aeronautics. J. Wiley, 2008.
[6] A. Giunta, S. Wojtkiewicz, and M. Eldred. Overview of modern design of experiments
methods for computational simulations. AIAA 2003-0649.
[7] H. M. Gutmann. A radial basis function method for global optimization. Journal of
Global Optimization, 19(3):201 – 227, 2001.
[8] D. Kalyanmoy, E. Zitzler, and L. Thiele. Comparison of multiobjective evolutionary
algorithms: Empirical results. Evolutionary Computation, IEEE Transactions on,
8(2):173–195, 2000.
[9] H. J. Kushner. A new method of locating the maximum point of an arbitrary multipeak
curve in the presence of noise. Journal of Basic Engineering, 86:97 – 106, 1964.
[10] M. Locatelli. Bayesian algorithms for one-dimensional global optimization. Journal of
Global Optimization, 10:57 – 76, 1997.
[11] S. Nadarajah and S. Kotz. Exact distribution of the max/min of two gaussian random
variables. EEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION (VLSI)
SYSTEMS, 16:210–212, 2008.
[12] J. Nocedal and S. J. Wright. Numerical optimization. Springer, 1999.
[13] J.-S. Park. Optimal latin-hypercube designs for computer experiments. Journal of
Statistical Planning and Inference, 39(1):95 – 111, 1994.
[14] J. Sacks, W. Welch, T. Mitchell, and H. Wynn. Design and analysis of computer
experiments. Statistical Science, 4(4):409 – 423, November 1989.
48
Download