Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Ответы на вопросы по материалам курса МО

.pdf
Скачиваний:
22
Добавлен:
01.06.2015
Размер:
856.93 Кб
Скачать

1. В чем состоит задача оптимизации?

Задача оптимизации состоит в поиске экстремума (минимума или максимума) функции в некоторой области конечномерного векторного пространства параметров.

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

2. Как формально записывается задача оптимизации?

Записывается в виде самой функции и ограничений для данной функции. Ограничение – соотношение, задающее область существования целевой функции. Ограничения могут быть параметрическими и функциональными Параметрическое ограничение – область изменения значений конкретных параметров:

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

3.Критерии оптимизации. Классификация методов оптимизации и задач оптимизации в технике.

Функция F(X), экстремальное значение которой нужно найти, называют целевой, показателем эффективности или критерием оптимальности. Она представляет собой функцию обобщенного показателя качества. Глобальный экстремум данной функции F*(X*) обычно соответствует оптимальному решению.

Классификация задач оптимизации в технике:

1.Задача синтеза оптимальных структур

2.Задача оптимизации параметров

3.Задача синтеза оптимальных политик управления системами или объектами

4.Задача параметрической идентификации параметров моделей

5.Задача автоматизированной доводки

Классификация методов оптимизации:

1.Метод “Проб и ошибок”

2.Аналитические методы оптимизации

3.Численные методы оптимизации (одномерной и многомерной)

4.Неклассифицируемые методы оптимизации

4.В чем состоит отличие P-задач от NP-задач? Какие задачи относятся к классу P- задач? Какие задачи относятся к классу NP-задач?

Задачи, для которых известны полиномиальные алгоритмы решения, рассматриваются как поддающиеся решению (P-задачи).

Для большинства практических задач неизвестно, существует ли полиномиальный алгоритм их решения, и не доказано, что они поддаются решению (NP-задачи).

Полиномиальные алгоритмы имеют сложность O(nk), где k – положительное целое число, определенное тогда и только тогда, когда существует константа c>0 такая, что .

5.Как составляется функция Лагранжа? Сформулируйте порядок решения задачи выпуклого программирования методом множителей Лагранжа.

1

Выпуклое программирование – это значит, что целевая функция – выпуклая, и ограничения представляют собой выпуклые области.

Формулировка задачи: требуется найти экстремум (максимум) функции f(x), где X=(x1, x2,…,xn) при наличии ограничений в виде равенств gj(x)=bj, j=1,..,m. Функция f(x) и систему из m уравнений gj(x) заданы в пространстве Rn и принадлежат множеству непрерывных функций, частные производные которых также являются непрерывными функциями.

Идея метода неопределенных множителей Лагранжа заключается в переходе от задачи на условный экстремум к задаче отыскания безусловного экстремума некоторой построенной функции Лагранжа: , λj – неизвестные (неопределенные) множители Лагранжа.

Порядок решения очевиден!

6. Одномерный поиск. Постановка задачи. Критерии оптимальности.

Задача одномерного поиска формулируется следующим образом: требуется найти максимум (минимум) функции одной переменной f(x), заданной на единичном отрезке.

x*=arg min (max) f(x), x принадлежит X. X – множество допустимых точек, среди которых ищется x*. X=[a, b] – отрезок неопределенности. А относительно f(x), предполагают, что она унимодальна.

Функция f(x) называется унимодальной на X=[a, b], если существует такая точка x* из множества X, что

f(x1)>f(x2), если x1<x2<x*, x1, x2 принадлежит X, f(x1)<f(x2), если x1>x2>x*, x1, x2 принадлежит X

Если при любых x1, x2, принадлежащих множеству X, неравенство будет строгим, то функция f(x) называется строго выпуклой.

Функция f(x) называется выпуклой на X=[a, b], если f(ax1+(1-a)x2) af(x1)+(1-a)f(x2),

0a 1.

7.Ненаправленный одномерный поиск. Алгоритм пассивного поиска, алгоритм поиска однородными парами.

Различают ненаправленный и направленный случайный поиск.

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

Алгоритм пассивного поиска

Отрезок [a, b] - исходный отрезок неопределенности. Пусть N – число точек, в которых необходимо провести вычисления целевой функции f(x), т.е. N экспериментов. Значения в точках вычисляются следующим образом:

Среди вычисленных значений f(x) ищется точка xj, в которой достигается минимум (максимум) функции. Найденная точка принимается за принимается за приближенное

2

решение задачи. Исходный отрезок неопределенности [a, b] после экспериментах в N точках сужается до [xj-1, xj+1] длина которого равна:

Алгоритм поиска однородными парами Из рассмотренного ранее можно сделать вывод, что существенное сокращение

интервала неопределенности может дать лишь пара измерений. И если пара измерений сократила его почти в два раза, то k пар измерений может сократить этот интервал в (k+1) раз.

Алгоритм данного вида поиска:

 

 

1.

Задается N, находится k=N/2.

 

 

2.

Точка очередного измерения находится как

 

, где i=1,

 

 

2,…,k.

 

 

3.Среди полученных точек ищется минимум (максимум)

8.Последовательный одномерный поиск. Поиск экстремума функции методами равномерного блочного поиска, деления интервала пополам, дихотомии, Фибоначчи, золотого сечения, касательных, парабол.

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

Равномерный блочный поиск Схема алгоритма

1. Задаются исходный отрезок неопределенности [a, b], – точность приближенного решения , число экспериментов в блоке n = 2k – если n четное (n=2k-1 – если n нечетное). Проводится эксперимент в середине отрезка [a, b], т.е. вычисляем yk=f(xk),

где xk=(a+b)/2.

2.Проводим эксперименты в остальных точках блока: yi=f(xi), где xi=a+i*(b-a)/(n+1), где i=1, 2, …, n, i != k. Находим точку xj, в которой достигается минимум среди вычисленных значений: f(xj)=min f(xi), следовательно, точное значение минимума x* содержится на отрезке [xj - 1, xj + 1].

3. Если b-a 2 , то поиск заканчивается, иначе переходим к шагу 2.

Метод деления интервала пополам

Это алгоритм равномерного блочного поиска при n=3 Схема алгоритма:

1.Задаются a, b, . Производится эксперимент в точке x2=(a+b)/2, т.е. вычисляется y2=f(x2).

2.Производятся эксперименты в остальных точках блока:

x1=(a+x2)/2, y1=f(x1) и x3=(x2+b)/2, y3=f(x3). Находим xj такую, что значение в этой точке будет минимальным.

Тогда точное решение будет содержаться на отрезке [xj - 1, xj + 1].

3. Если b-a 2 , то поиск заканчивается, иначе переходим к шагу 2.

Метод дихотомии Алгоритм метода состоит из следующих этапов:

1. Исходный интервал L0 = [a, b] исследования делится пополам.

3

2. Вблизи точек деления (по разные её стороны) дважды вычисляется значение целевой функции y(x1), y(x2), где , а - наименьший интервал

изменения переменной x, при котором возможно обнаружить отличие между y(x1) и y(x2).

3.Используя свойство унимодальности функций, определяют интервал, в котором находится экстремальное значение целевой функции, а затем процесс расчета повторяется по аналогичной схеме до тех пор, пока не будет получен интервал Ln, где

,содержащий точку оптимума x*.

! Для сокращения единичного интервала неопределенности до размера l0 методом

дихотомии потребуется сделать

 

 

 

экспериментов.

 

 

Метод Фибоначчи Алгоритм метода следующий:

1.По заданной точности l0 рассчитывается вспомогательное число N = (b – a) / l0

2.Для полученного значения N находится такое число Фибоначчи Fn, чтобы выполнялось неравенство

3.Определятся минимальный шаг поиска по формуле

4.Рассчитывается значение функции f(x) в начале интервала, то есть f(a)

5.Следующая точка, в которой вычисляется значение f(x): x1 = an + mFn-2

6.Если f(x1) >= f(a) (шаг удачный), то следующая точка определяется как x2 = x1 + mFn-3; при f(a)>f(x1) (шаг неудачный) – x2 = x1 – mFn-3

7.Последующие шаги выполняются с уменьшающейся величиной шага, которая для i-го

шага будет

в соответствии со следующим правилом. Если при

выполнении шага значение функции в точке

оказывается больше, то

есть f(xi+1)>f(xi) (шаг удачный), то следующий (i+2)-й шаг выполняется из точки xi+1:

. Если i-й шаг неудачный, то есть f(xi+1)<f(xi), то следующий (i+2)-й шаг выполняется из точки xj, то есть .

Метод золотого сечения

Алгоритм метода:

 

 

 

 

 

1. Задается λ

и a, b, l0. Вычисляют

 

 

 

 

 

 

2. Если

, то a = x1, интервал неопределенности становится равным [x1, b].

Иначе, если условие

не выполняется, то b = x2, интервал неопределенности становится

равным [a, x2]

3. Если a – b > l0, то переходят к шагу 2.

В противном случае если y2 y1, то x* = x2, y* = y2, иначе x* = x1, y*=y1.

Метод касательных Алгоритм метода:

1. Задаются a, b, . Вычисляются y1=f(a), y2=f(b), z1=f’(a), z2=f’(b).

4

2. Если b-a 2 , то полагается, что x*=(a+b)/2, y*=f(x*) и поиск окончен, иначе необходимо вычислить

Если z=0, то полагается, что x*=c, y*=y и поиск окончен, иначе если z<0, то a=c, y1=y, z1=z, или если z>0, то b=c, y2=y, z2=z, и данный пункт алгоритма повторяется.

Метод парабол

9.Многомерный поиск. Методы релаксации, покоординатного спуска, градиентного поиска (равномерного и пропорционального), наискорейшего спуска (подъема).

Воснове градиентных методов поиска экстремума лежит идея последовательного улучшения (ухудшения) некоторого допустимого решения X0 за счет движения по направлению к оптимуму целевой функции f(x).

Метод релаксации

1.Находятся частные производные целевой функции

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

5

находим её значение. Проверяем условие остановки, если оно выполняется, то прекращаем поиск, иначе повторяем пункт 2.

Метод покоординатного спуска

Пусть k – номер очередной внешней итерации, aj – номер той координаты, по которой производится спуск.

Алгоритм метода:

1.При k = 0 вводятся исходные данные x0,

2.Осуществляется циклический по j покоординатный спуск из точки xkn по формуле

3. Если

 

, то поиск минимума заканчивается, причем x*=x(k+1)n и

y*=f(x*). Иначе k=k+1 и переход к шагу 2.

 

 

 

Градиентный равномерный метод

 

 

 

Алгоритм метода:

 

 

 

 

 

Шаг 1. Задаются начальное приближение x0, постоянный шаг

, условие остановки .

Вычисляется значение градиента f’(xk) – направление поиска. Присваивается k = 0

Шаг 2. Определяется точка очередного эксперимента:

 

 

 

Шаг 3. Вычисляется значение градиента в точке

.

 

 

Шаг 4. Если

 

, то поиск заканчивается, при этом x* = xk+1, y=f(x*).

Градиентный пропорциональный метод

 

 

 

Алгоритм метода:

 

 

 

 

 

Шаг 1. Задаются x0,

и начальное значение шага . Вычисляется значение градиента

f’(x0) – направление поиска. Присваивается k = 0

 

 

 

Шаг 2.

Определяется точка очередного эксперимента:

 

 

 

 

 

 

Шаг 3.

Проверяется условие

. Если оно выполняется, то переходим к

шагу 4, иначе дробим значение (

) и переходим к шагу 4

 

 

 

Шаг 4.

Вычисляется значение градиента в точке xk+1: f’(xk+1)

 

 

 

Шаг 5.

Если

 

 

 

 

 

то поиск заканчивается, при этом x* = xk+1, y* = f(x*). Иначе полагаем k = k+1 и переходим к шагу 2.

Метод наискорейшего спуска (подъема) Алгоритм метода:

1.Задаются x0, . Вычисляется направление поиска. Присваивается k=0

2.Определяется точка очередного эксперимента

3.Вычисляется значение градиента в точке xk+1

6

4. Если , то поиск минимума заканчивается и полагается, что x*=xk+1 и y*=f(x*), иначе k=k+1 и переход к шагу 2.

10. Методы Ньютона.

Методы Ньютона – это метода второго порядка (использующие вторые частные производные целевой функции f(x)). Все они являются прямым обобщением метода Ньютона отыскания корня уравнения φ(x)=0, где φ(x) – скалярная функция скалярного аргумента x.

Схема алгоритма

1.На первой итерации, при k = 0, вводятся начальное приближение x0 и условие останова

. Вычисляются градиент f'(x0) и матрица f''(x0).

2.Определяется направление спуска pk, как решение системы линейных уравнений f''(xk)·pk = – f'(xk) (например, методом исключений Гаусса).

3.Определяется следующая точка спуска: xk+1 = xk + pk.

4.В точке xk+1 вычисляются градиент f'(xk+1) и матрица f''(xk+1)

5.Если ||f'(xk+1)||<= , то поиск заканчивается и полагается x* = xk+1 и y* = f(x*). Иначе k = k + 1 и переход к шагу 2.

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

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

Значительные трудности, возникающие при практической реализации метода Ньютона связаны с необходимостью вычислить матрицу f’’(x). Рассмотрим две модификации метода Ньютона, которые используют приближенные аналоги матрицы вторых производных. В результате уменьшается трудоемкость метода, но ухудшается его сходимость.

Первая модификация

1.При k = 0, вводятся x0, . Вычисляются f'(x0) и f''(x0).

2.Определяется обратная матрица (f''(x0))-1

3.Определяется направление спуска pk: pk = – f'(xk)·(f '(x0))–1

4.Определяется следующая точка xk+1 = xk + a·pk, где a – решение задачи одномерной минимизации функции

5.В точке xk+1 вычисляется градиент f'(xk+1)

6.Если ||f'(xk+1)|| , то поиск заканчивается и полагается, что x*=xk+1 и y*=f(x*), иначе переходим к пункту 3.

Вторая модификация Эта модификация связана с обновлением матрицы вторых производных через

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

хjm+i+1 = xjm+i – ajm+i· (f''(xjm)) –1·f'(xjm+i)

11. Методы определения экстремума овражных функций.

Градиентные методы медленно сходятся в тех случаях, когда поверхности уровня целевой функции f(x) сильно вытянуты. Этот факт известен в литературе как “эффект оврагов”. Суть эффекта в том, что небольшие изменения одних переменных приводят к резкому изменению значений функции – эта группа переменных характеризует “склон оврага”, а по остальным переменным, задающим направление “дна оврага”, функция меняется незначительно.

Траектория метода характеризуется довольно быстрым спуском на “дно оврага”, и затем медленным зигзагообразным движением в точку минимума.

7

Пусть хk и хk1 - две произвольные близкие точки. Из хk совершают обычный градиентный спуск с постоянным шагом α и после нескольких итераций с малым шагом α попадают в точку uk. Тоже самое делают для точки хk1, получая точку uk1. Две точки uk и uk1 лежат в окрестности «дна оврага». Соединяя их прямой, делают «большой овражный шаг» λ в направлении убывания функции, перемещаясь «вдоль дна оврага» (шаг λ называют овражным шагом). Точка хк+1 определяется следующим образом. По формуле

Вычисляют точку xk+1. Из неё осуществляют градиентный спуск и получают точку uk+1. Если f(uk+1)<f(uk), то полагают x*=xk+1 и u*=uk+1. В противном случае уменьшают овражный шаг и повторяют определение xk+1.

Общая идея модификации овражного метода Пусть х0 и х1 – две произвольные близкие точки. Как и в предыдущем случае, из

каждой точки осуществим градиентные спуски с постоянным шагом α. Получим точки u0 и u1, лежащие в окрестности «дна оврага». Соединяя их прямой, делаем «большой шаг» λ в полученном направлении. В результате получим точку х2. Из этой точки осуществим градиентный спуск и получим точку u2. А вот направлении и определяем х3. Далее аналогичным образом вычисляются х4, х5 далее, для того чтобы осуществить «овражный шаг», используем точку u1. Соединяя прямой точки u2 и u1, делаем шаг λ в полученном направлении и определяем x3. Далее аналогичным образом вычисляются x4, x5,…

12. Методы штрафных функций.

Если ограничения представляют собой равенства и нестрогие неравенства, используют штрафные функции:

где некоторое число

т.е. если эксперимент вышел за ОДЗ, штрафная функция резко возрастает (убывает) при поиске max (min) и возвращает исследование в ОДЗ.

Если ограничения представляют собой строгие неравенства, то используются барьерные функции, значения которых неограниченно возрастает (убывает) при поиске max (min) при приближении к границе ОДЗ. Барьерная функция должна быть непрерывной внутри ОДЗ, т.к. все исследуемые при этом точки лежат внутри ОДЗ. Данный метод называют методом внутренней точки. В качестве барьерной часто применяют функции вида

Трудности возникают при определении начальной точки исследования, а также если экстремум достигается на границе ОДЗ, т.к. значение обобщенной функции у границ ОДР определяется величиной барьерной функции и экстремум не всегда может быть получен с заданной точностью.

13. Стохастическое программирование.

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

8

Модели часто оказываются неадекватными реальным процессам, что объясняется неполнотой или неточностью данных, на основе которых строилась модель.

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

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

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

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

Пассивное стохастическое программирование (ПСП) – это совокупность приемов, позволяющих находить наилучшее решения и экстремальное значение ЦФ в оптимизационных задачах со случайными исходными данными.

Активное стохастическое программирование (АСП ) – это совокупность приемов, позволяющих развивать методы выбора решений в условиях риска и неопределенности

Основным отличием стохастических методов от детерминированных является введение элемента случайности в процесс поиска экстремума.

Стандартный стохастический алгоритм состоит из 2-х шагов: сбор информации; принятие решения о движении

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

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

14. Ненаправленный случайный поиск.

Задача поиска оптимальных решений: требуется найти минимума функции W(X) векторного аргумента X=(x1, x2, …, xn) в некоторой заданной области D допустимых значений X. Область D определяет пространство допустимых решений, каждой точке которого соответствует некоторое значение вектора X и целевой функции W(X), удовлетворяющие заданным ограничениям. Вектор X* принадлежит D и соответствует минимуму оптимизируемой функции W(X), является целью поиска.

Ненаправленный случайный (слепой) поиск экстремума производят следующим образом: строят последовательность

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

из которых выбирают наименьшую: W(X*)=min{W1, W2, …,WN}

Если задано Wmin, то поиск осуществляется до тех пор, пока не будет найден X* такой, что

|W(X*)-Wmin|

В основе метода лежит проведение испытаний модели с использованием выборки объема N независимых случайных точек исследования {xi} для выявления области вероятного экстремума.

Основной и весьма ощутимый недостаток метода – большая трудоемкость.

9

Достоинство метода – универсальность, т.е. возможность использования практически для любого вида целевой функции.

Необходимость продолжения вычислений определяется тем, насколько подробно была рассмотрена область D:

1. Область D разбивается на l интервалов, вычисляют эмпирические частоты

попадания отдельных значений целевой функции W в i-ый интервал. Поиск прекращается, если на некотором s-м шаге для любого интервала выполняется условие

2.По результатам большого числа Ni испытаний (Ni>100) строят вариационный ряд (последовательность расположенных в возрастающем порядке значений целевой функции):

W1<W2<…<WN и эмпирическую интегральную функцию распределения. Если после проведения дополнительного числа испытаний интегральная функция несущественно отличается от предыдущей, то говорят о достаточности объема вычислений.

Эффективность ненаправленного случайного поиска

Пусть заданы вероятность р и точность нахождения экстремума функции W(X) в области D. Точность определяет множество оптимальных решений {X*}. Отношение объема области оптимальных решений к объему области D обозначим через z. Тогда необходимое число шагов для однократного попадания в область {X*} с вероятностью p можно определить по формуле

15.Направленный случайный поиск: поиск с возвратом при неудачном шаге, поиск с наказанием случайностью, поиск парными пробами, поиск по наилучшей пробе.

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

Поиск с возвратом при неудачном шаге В пространстве параметров произвольно выбирается точка Х0. Задается постоянный

шаг h. Из точки Х0 в случайном направлении, определенном случайным единичным вектором ζ = (ζ1,…, ζn), осуществляется шаг на величину h. Вычисляется значение целевой функции в новой точке X1. Если значение W(X1) <W(X0) (в случае поиска минимума), то шаг считается рабочим, и новый шаг осуществляется из точки X1 в случайном направлении. Если W(X1) > W(X0), то шаг считается неудачным, производится возвращение в точку X0, из которой в случайном направлении снова совершается пробный шаг.

Повторное определение W(X) при возвращении в исходный центр поиска следует применять в тех случаях, когда целевая функция по каким-либо причинам изменяется во времени, например при наличии помех.

Поиск с наказанием случайностью Предполагает движение в благоприятном направлении до первого неудачного шага.

После этого проводится случайный поиск нового благоприятного направления.

Движение из центра зоны поиска Xj-1 , найденного в процессе поиска, ведется в случайном направлении Xj=Xj-1+ah до тех пор, пока не обнаружится благоприятное направление такое,

10