Эффективный алгоритм многокритериальной суррогатной оптимизации

Страница создана Таисия Королева
 
ПРОДОЛЖИТЬ ЧТЕНИЕ
Московский физико-технический институт
           (государственный университет)
        Факультет радиотехники и кибернетики
Кафедра предсказательного моделирования и оптимизации

      Эффективный алгоритм
  многокритериальной суррогатной
           оптимизации

                                Выпускная квалификационная
                                  работа на степень магистра
                                              студента 711гр.
                                             Назаренко А.М.

                                       Научный руководитель
                                       к.ф.-м.н. Губарев Ф.В.

             Работа выполнена в ИППИ РАН,
                       г. Москва,
                          2013г.
Оглавление

Список иллюстраций                                                                                                                          ii

1 Введение. Задача однокритериальной оптимизации                                                                                             1
  1.1 Постановка задачи . . . . . . . . . . . . . . . . . . . . .                               .   .   .   .   .   .   .   .   .   .   .    2
  1.2 Понятие минимума . . . . . . . . . . . . . . . . . . . .                                  .   .   .   .   .   .   .   .   .   .   .    3
  1.3 Ограничения . . . . . . . . . . . . . . . . . . . . . . . .                               .   .   .   .   .   .   .   .   .   .   .    4
  1.4 Непрерывность входных переменных . . . . . . . . . .                                      .   .   .   .   .   .   .   .   .   .   .    4
  1.5 Детерминированность целевой функции . . . . . . . .                                       .   .   .   .   .   .   .   .   .   .   .    5
  1.6 Алгоритмы оптимизации . . . . . . . . . . . . . . . . .                                   .   .   .   .   .   .   .   .   .   .   .    5

2 Многокритериальная оптимизация                                                                                                             7
  2.1 Парето-оптимальность . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                                                         7
  2.2 Подходы к решению . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                                                       11
  2.3 Интерактивная оптимизация . . . . . . . . . . . . . . . . . . . . . . . . . .                                                         16

3 Оптимизация с использованием суррогатных                                  моделей                                                         17
  3.1 Кригинг . . . . . . . . . . . . . . . . . . . . . .                   . . . . . .             .   .   .   .   .   .   .   .   .   .   17
  3.2 Общая схема метода . . . . . . . . . . . . . . .                      . . . . . .             .   .   .   .   .   .   .   .   .   .   21
  3.3 Построение обучающей выборки . . . . . . . .                          . . . . . .             .   .   .   .   .   .   .   .   .   .   22
  3.4 Критерии выбора новых точек . . . . . . . . .                         . . . . . .             .   .   .   .   .   .   .   .   .   .   23

4 Построение алгоритма                                                                                                                      28
  4.1 Структура алгоритма . . . . . .       .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   29
  4.2 Построение начальной выборки          .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   29
  4.3 Однокритериальный метод . . .         .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   30
  4.4 Поиск якорных точек . . . . . .       .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   32
  4.5 Скаляризация . . . . . . . . . .      .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   33
  4.6 Возможные обобщения . . . . .         .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   37

5 Примеры решения задач                                                                                                                     39
  5.1 Методика сравнения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                                                      39
  5.2 Результаты . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                                                    41

6 Заключение                                                                                                                                47

Литература                                                                                                                                  48

                                                i
Список иллюстраций

 1.1   Локальный и глобальный минимумы . . . . . . . . . . . . . . . . . . . . .                                                                                     3
 1.2   Условный минимум . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                                                                                4

 2.1   Сравнение векторов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                                                                              8
 2.2   Парето фронт . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                                                                             10
 2.3   Линейная скаляризация . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                                                                              13

 3.1   Пример предсказания на основе кригинга . . . . . . . . . . . . . . . . . .                                                                                   20
 3.2   Общая схема методов исследования функции с использованием суррогат-
       ных моделей . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                                                                            21
 3.3   Метод максимизации вероятности улучшения . . . . . . . . . . . . . . . .                                                                                     24
 3.4   Метод максимизации ожидаемого улучшения . . . . . . . . . . . . . . . .                                                                                      26

 4.1   Схема работы алгоритма . . . . . . . . . . . . . . . . . . . . . . . . . . . .                                                                               30
 4.2   Адаптивная скаляризация . . . . . . . . . . . . . . . . . . . . . . . . . . .                                                                                37

 5.1   Метрика Q .     .   .   .   .   .   .   .   .   .   .   .   .   .    .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   40
 5.2   ZDT1, n = 2 .   .   .   .   .   .   .   .   .   .   .   .   .   .    .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   42
 5.3   ZDT1, n = 5 .   .   .   .   .   .   .   .   .   .   .   .   .   .    .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   42
 5.4   ZDT2, n = 2 .   .   .   .   .   .   .   .   .   .   .   .   .   .    .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   44
 5.5   ZDT2, n = 5 .   .   .   .   .   .   .   .   .   .   .   .   .   .    .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   44
 5.6   ZDT3, n = 2 .   .   .   .   .   .   .   .   .   .   .   .   .   .    .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   46

                                                                       ii
Аннотация

Многообразие возникающих оптимизационных задач требует все новых алгоритмов для
их решения. Характерной особенностью многих актуальных задач является высокая
вычислительная сложность целевых функций и ограничений, следовательно, каждое
их вычисление требует существенных затрат времени. Так как решение задачи, как
правило, нужно получить в строго ограниченный срок, то естественным приоритетом
при выборе алгоритма оптимизации становится возможность явно контролировать бюд-
жет вычислений, возможно, ухудшая качество получаемого решения. В данной рабо-
те рассматривается построение эффективного глобального метода многокритериальной
оптимизации с использованием суррогатных моделей, который позволяет прямо управ-
лять бюджетом вычислений. Кроме того, приведено краткое сравнение предложенного
алгоритма с алгоритмами других типов.
Глава 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⊂
ГЛАВА 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 положительны, а их сумму, без ограничения общности, можно зафикси-
ровать единицей i=K
                P
                  i=1 wi = 1. Дальнейшее рассмотрение линейной скаляризационной
функции для простоты проведем для случая K = 2, то есть U (F) = w1 f1 + w2 f2 . В

                                         11
ГЛАВА 2. МНОГОКРИТЕРИАЛЬНАЯ ОПТИМИЗАЦИЯ

начале обсудим, как с помощью линейной скаляризации можно получить решение гло-
бальной многокритериальной задачи. В простейшем случае, мы можем выбрать n ≥ K
значений одного из весов, пусть это будет w1 , равномерно из отрезка [0, 1]:

                                     j
                           w1j =        , 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]). Однако есть
и более глубокая проблема – для многих скаляризационных функций, в частности, для
рассматриваемой сейчас взвешенной суммы, некоторые участки Парето фронта оста-
ются недостижимы при любых значениях весов. Это легко понять, если переписать
выражение для скаляризационной функции следующим образом:

                                               w1          U
                                F2 (x) = −        F1 (x) +
                                               w2          w2

Это выражение задает прямую линию в пространстве целевых функций. При решении
каждой однокритериальной подзадачи эта прямая линия имеет фиксированный наклон
 w1                          U
−w2
    и переменное слагаемое   w2
                                .   Графически, решение этой задачи можно представить
как перемещение этой прямой до тех пор, пока не будут выполнены два условия: на
прямой есть хотя бы один вектор F, соответствующий допустимому значению x ∈ Q, а
под этой прямой таких векторов не останется.
   Рассмотрев на примере взвешенной суммы скаляризацию с помощью функции по-
лезности, перейдем к следующему распространенному способу – методу ограничений.
   Предположим, что решив независимо задачи минимизации каждой целевой функ-
ции Fi (x), мы нашли все якорные точки. После этого, можно поступить следующим
образом – выбрать одну из целевых функций (без ограничения общности, это может
быть F1 ) и поставить следующую задачу:

                                               12
ГЛАВА 2. МНОГОКРИТЕРИАЛЬНАЯ ОПТИМИЗАЦИЯ

                              minx∈Q⊂
ГЛАВА 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 ) есть сильная корреляция. В частности,
корреляцию часто моделируют следующей функцией:

                                                                      N
                                                                      X
                      Corr[Y (xi ), Y (xj )] = K(xi ), xj ) = exp(−         θ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. ОПТИМИЗАЦИЯ С ИСПОЛЬЗОВАНИЕМ СУРРОГАТНЫХ МОДЕЛЕЙ

                                                        −(y − µ1)T |R|−1 (y − µ1)
                                                                                   
                             1
                         n       n        1   exp
                   (2π) 2 (σ 2 ) 2 |R| 2                          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
                                      2   (y − µ̂1)R−1 (y − µ̂1)
                                     σ̂ =
                                                    n
   Подставляя эти значения в выражение для логарифма функции правдоподобия, по-
лучаем:

                                       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: Пример предсказания на основе кригинга

             −1            ∗           rT R−1 (y − µ̂1) ∗
                        (y   − µ̂) 2
                                     +                     (y − µ̂) + {члены, не содержащие y ∗ }
   2σ̂ 2 (1 − rT R−1 r)                σ̂ 2 (1 − rT R−1 r)

   Наконец, дифференцируем это выражение по y ∗ , приравниваем к нулю и находим
оптимальное значение:

                                  ŷ(x∗ ) = µ̂ + rT R−1 (y − µ̂1)

   Это и есть предсказание по методу кригинга. Кроме того, как уже говорилось, можно
получить выражение для дисперсии s2 (x∗ ) этого предсказания. Приведем его его без
вывода:

                                                        (1 − rT R−1 r)2
                                                                         
                          2   ∗        2           T   −1
                         s (x ) = σ̂           1−r R r+
                                                           1T R−1 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 – некоторое целевое значение, то вероятность достигнуть
этого и меньших значений:
                                                                       
                                                            T − ŷ(x)
                      P I(x, T ) = Pr[Y (x) ≤ T ] = Φ
                                                              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 −
                          s(x) 2π            2s2 (x)
  Математическое ожидание улучшение, таким образом, можно получить интегриро-
ванием величины I с этой функцией плотности:

                          I=∞
                                              (fmin − I(x) − ŷ(x))2
                                                                   
                                     1
                      Z
            EI(x) =             I     √ exp −                           dI
                      I=0         s(x) 2π            2s2 (x)
  Интегрируя по частям, приходим к следующему выражению:

                                 EI(x) = s(x) (uΦ(u) + φ(u))

  где

                                              fmin − ŷ(x)
                                     u(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
Вы также можете почитать