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

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

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

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

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

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

Приращение вектора управляемых параметров в большинстве случаях вычисляется по формуле:

В данном выражении  - значение вектора управляемых параметров на k-ом шаге,  - шаг расчета, а  - направление поиска экстремума функции.

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

Шаг расчета

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

Другими словами, величина шага расчета вычисляется при решении следующего выражения:

В результате решения данного уравнение мы получим, что шаг расчета в символьном виде определяется следующим образом:

где - значение аргумента функции на k-ом шаге итерации;

n – количество неизвестных переменных, которые определяются в ходе решения задачи;

L – некоторая константа, которая определяется из определителя следующей матрицы:

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

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

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

Рис.1. Критерий выбора шага расчета по правилу Армихо

Методика определения шага расчета оптимизационной задачи в соответствии с правилом Армихо заключается в следующем:

1. Задать коэффициент в диапазоне от 0 до 1.

2. Задать начальное значение шага .

Процедура поиска  (проверка выполнения условия по правилу Армихо)

3. В случае если условие по правилу Армихо не выполняется, тогда необходимо скорректировать шаг расчета , где переменная  может принимать любое значение от 0 до 1, по умолчанию примем, что переменная , а  - текущий шаг поиска.

4. В случае если условие по правилу Армихо выполняется, тогда в качестве шага расчета можно принять , а процедура поиска завершается.

Данное правило требует однократного вычисления градиента, после чего небольшое количество итераций затрачивается на подбор подходящего шага. Каждая из таких вложенных итераций, в свою очередь, требует вычисления значения целевой функции без градиента, то есть проводимые испытания относительно легковесны. Следует отметить, что данное условие удовлетворяется для всех достаточно малых . Правило Армихо можно расширить на многокритериальный случай: неравенство 3.19 следует понимать покомпонентно.

  • Второе условие(Правило Вольфе-Пауэлла - Wolfe. P) является модифицированным критерием, позволяет выбрать шаг расчета в случае выполнения двух условий:

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

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

Рис.2. Критерий выбора шага расчета по правилу Вольфе-Пауэлла

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

1. Задать коэффициент  и  в диапазоне от 0 до 1 .

2. Задать начальное значение шага , принять коэффициент и 

Процедура поиска  (проверка выполнения условия по правилу Вольфе-Пауэлла)

3. В случае если первое условие по правилу Вольфе-Пауэлла не выполняется, тогда принять коэффициент . Перейти к пункту №5.

4. В случае если второе условие по правилу Вольфе-Пауэлла не выполняется, тогда принять коэффициент :

- в случае если , то перейти к пункту №5;

- в случае если  выполнить экстраполяцию, положив  , где r – коэффициент экстраполяции . Перейти к пункту №3.

5. Выполнить текущий расчет шага по формуле

где - коэффициент интерполяции, который определяется в следующем диапазоне 

Перейти к пункту №3.

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

  • Третье условие(правило Голдстейна-Армийо) позволяет выбрать шаг расчета, рассматривая следующее неравенство:

Методика определения шага расчета оптимизационной задачи в соответствии с правилом Голдстейна-Армийо заключается в следующем:

1. Задать коэффициент  и  в диапазоне от 0 до 1 .

2. Задать начальное значение шага 

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

4. В случае если условие по правилу Голдстейна-Армийо выполняется, тогда в качестве шага расчета можно принять , а процедура поиска завершается.

Критерии останова оптимизационного процесса

Поиск оптимального решения завершается в случае, когда на итерационном шаге расчета выполняется один (или несколько) критериев:

- траектория поиска остается в малой окрестности текущей точки поиска:

- приращение целевой функции не меняется:

- градиент целевой функции в точке локального минимума обращается в нуль:

 

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

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

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

Методы безусловной оптимизации

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

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

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

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

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

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

Методы одномерного поиска:

- Метод дихотомического деления и метод золотого сечения – это методы одномерной оптимизации, основанные на делении отрезка, на котором ищется экстремум, пополам или в  пропорциях золотого сечения (0,382 / 0,618), соответственно.

- Метод полиномиальной аппроксимации (метод квадратичной интерполяции) – это метод одномерной оптимизации, в соответствии с которым целевая функция аппроксимируется квадратичным полиномом.

Методы многомерного поиска:

- Метод покоординатного спуска (Гаусса-Зейделя) – это метод безусловной оптимизации нулевого порядка, в котором направления поиска выбираются поочередно вдоль всех координатных осей, шаг рассчитывается на основе одномерной оптимизации.

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

- Симплексный метод (метод деформируемого многогранника или метод Нелдера-Мида) – это метод безусловной оптимизации нулевого порядка, основанный на многократно повторяемых операциях построения многогранника с (n+1) вершинами, где n — размерность пространства управляемых параметров, и перемещения наихудшей вершины (с наихудшим значением целевой функции) в направлении центра тяжести многогранника.

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

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

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

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

- Метод наискорейшего спуска – это метод нахождения локального минимума (максимума) функции при движении вдоль градиента  с оптимальным шагом. Шаг расчета выбирается минимума целевой (минимизируемой) функции в направлении спуска.

- Метод сопряженных градиентов (метод Флетчера-Ривса) – это метод безусловной оптимизации первого порядка, в котором направление поиска на очередном шаге есть градиентное направление, скорректированное с учетом направления поиска на предыдущем шаге.

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

 

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

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

- Метод Ньютона – это метод безусловной оптимизации, основанный на использовании необходимых условий безусловного экстремума целевой функции: равенству нулю первой производной. В соответствии с данным методом определяют матрицу вторых частных производных целевой функции по управляемым параметрам (матрицу Гессе).

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

Методы условной оптимизации

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

 при заданных условиях (равенствами и/или неравенствами), при этом число ограничений m может быть как больше, так и меньше числа переменных n.

, j=1,2,…,m.

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

Рис.4. Задача условной оптимизации для функции двух переменных

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

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

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

- Метод неопределенных множителей Лагранжа – это метод условной оптимизации, ориентированный на поиск экстремума целевой функции при наличии ограничений типа равенств.

- Условия Куна-Таккера – это метод решения оптимизационной задачи математического программирования с заданными ограничениями. Метод является обобщением метода множителей Лагранжа на случай общей задачи нелинейного программирования с ограничениями, как в виде равенств, так и в виде неравенств.

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

 

  • Методы непосредственного решения задачи условной оптимизации – это задача условной оптимизации, основанная на движении из одной допустимой точки, где выполнены все ограничения, к другой допустимой точке с лучшим значением целевой функции.

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

   - Метод приведенного градиента – это метод условной оптимизации, ориентированный на решение задач с ограничениями типа равенств. Направление движение в данном методе определяет приведенный градиент функции.

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

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

Добавить комментарий

Пользовательское соглашение.

По всем возникшим вопросам Вы можете обратиться к администрации сайта по электронной почте (administrator@simenergy.ru) или с помощью формы обратной связи.

Статистика сайта:
Яндекс.Метрика