Терминология поиска шаблона

Шаблоны

Шаблон является набором векторов {vi} что использование алгоритма поиска шаблона, чтобы определить который точки искать в каждой итерации. Набор {vi} задан количеством независимых переменных в целевой функции, N, и положительным базисным комплектом. Два обычно используемых положительных базисных комплекта в алгоритмах поиска шаблона являются максимальным основанием, с векторами на 2 Н и минимальным основанием, с векторами N+1.

С GPS набор векторов, которые формируют шаблон, является векторами фиксированного направления. Например, если существует три независимые переменные в задаче оптимизации, значение по умолчанию для положительного основания на 2 Н состоит из следующих векторов шаблона:

v1=[100]v2=[010]v3=[001]v4=[100]v5=[010]v6=[001]

Положительное основание N+1 состоит из следующих векторов шаблона по умолчанию.

v1=[100]v2=[010]v3=[001]v4=[111]

С GSS шаблон идентичен шаблону GPS, кроме тех случаев, когда существуют линейные ограничения, и текущая точка около границы ограничений. Для описания пути, которым GSS формирует шаблон с линейными ограничениями, смотрите Колду, Льюис и Торкзон [1]. Алгоритм GSS более эффективен, чем алгоритм GPS, когда у вас есть линейные ограничения. Для примера, показывающего увеличение эффективности, смотрите, Сравнивают КПД Опций Опроса.

С MADS набор векторов, которые формируют шаблон, случайным образом выбран алгоритмом. В зависимости от выбора метода опроса количество выбранных векторов составит 2 Н или N+1. Как в GPS, векторы на 2 Н состоят из векторов N и их отрицательных сторон N, в то время как векторы N+1 состоят из векторов N и того, который является отрицанием суммы других.

Ссылки

[1] Колда, Тамара Г., Роберт Майкл Льюис и Вирджиния Торкзон. “Генерация установила увеличенный лагранжевый алгоритм прямого поиска для оптимизации с комбинацией общих и линейных ограничений”. Технический отчет SAND2006-5315, Национальные лаборатории Сандиа, август 2006.

Сетки

На каждом шаге, patternsearch ищет набор точек, названных mesh, для точки, которая улучшает целевую функцию. patternsearch формирует mesh

  1. Генерация набора векторов {di} путем умножения каждого вектора шаблона vi скаляром Δm. Δm называется размером mesh.

  2. Добавление {di} к текущей точке — точка с лучшим значением целевой функции, найденным на предыдущем шаге.

Например, с помощью алгоритма GPS. предположите что:

  • Текущей точкой является [1.6 3.4].

  • Шаблон состоит из векторов

    v1=[10]v2=[01]v3=[10]v4=[01]

  • Текущим размером mesh Δm является 4.

Алгоритм умножает векторы шаблона на 4 и добавляет их в текущую точку, чтобы получить следующую mesh.

[1.6 3.4] + 4*[1 0] = [5.6 3.4] 
[1.6 3.4] + 4*[0 1] = [1.6 7.4] 
[1.6 3.4] + 4*[-1 0] = [-2.4 3.4] 
[1.6 3.4] + 4*[0 -1] = [1.6 -0.6]

Вектор шаблона, который производит точку mesh, называется ее направлением.

Опрос

На каждом шаге алгоритм опрашивает точки в текущей mesh путем вычисления их значений целевой функции. Когда опция Complete poll имеет установку Off (по умолчанию), алгоритм прекращает опрашивать точки mesh, как только он находит точку, значение целевой функции которой меньше значения текущей точки. Если это происходит, опрос называется успешный и точка, которую он находит, становится текущей точкой в следующей итерации.

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

Когда опция Complete poll имеет установку On, алгоритм вычисляет значения целевой функции во всех точках mesh. Алгоритм затем сравнивает точку mesh с наименьшим значением целевой функции к текущей точке. Если та точка mesh имеет меньшее значение, чем текущая точка, опрос успешен.

Расширение и заключение контракта

После опроса алгоритм изменяет значение размера mesh Δm. Значение по умолчанию должно умножить Δm на 2 после успешного опроса, и на 0,5 после неудачного опроса.

Похожие темы

Для просмотра документации необходимо авторизоваться на сайте