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

Численные методы решения задач одномерной оптимизации

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

Для решения задачи минимизации функции ¦(x) на отрезке [a; b] на практике, как правило, применяют приближенные методы. Они позволяют найти решение этой задачи с необходимой точностью в результате определения конечного числа значений функции ¦(x) и ее производных в некоторых точках отрезка [a; b]. Методы, использующие только значения функции и не требующие вычисления ее производных, называютсяпрямыми методами минимизации.

 

Прямые методы

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

Рассмотрим наиболее распространенные на практике прямые методы поиска точки минимума. Самым слабым требованием на функцию ¦(x), позволяющим использовать эти методы, является ее унимодальность. Поэтому далее будем считать функцию ¦(x) унимодальной на отрезке [a; b].

 

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

 

Метод перебора (пассивная стратегия поиска) является простейшим из прямых методов оптимизации.

Пусть

¦(x) Î Q[a; b],

где Q[a; b] – множество унимодальных функций на отрезке [a; b]. Требуется найти какую–либо из точек минимума x функции ¦(x) на отрезке [a; b] с абсолютной погрешностью e > . Разобьем [a; b] на n равных частей точками деления

x = a+i , i = 0, 1, 2,…, n,

где n ³ .

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

¦(x ) = min¦(x ), 0 £ i £ n.

Далее полагаем x » x , ¦ » ¦(x ). При этом максимальная погрешность e определения точки x равна e = (b-a)/n.

Пример 5.1.Найти минимальное значение ¦ и точку минимума x функции ¦(x) = x + 8x - 6x - 72x на отрезке [1,5; 2,0]. Точку x найти с погрешностью e = 0,05.

¦(xQ[1,5; 2,0], так как ¦¢¢(x) = 12x + 48x – 12 > 0 при xÎ [1,5; 2].

Выбрав n = = 10, вычислим значения ¦(x ), x = 1,5 + i 0,05, i = 0,1,…,10, поместив их в таблицу 5.1.

хi 1,50 1,55 1,60 1,65 1,70 1,75 1,80 1,85 1,90 1,95 2,00
¦(x ) -89,4 -90,2 -91,2 -91,8 -92,08 -92,12 -91,9 -91,4 -90,5 -89,4 -88,0

Таблица 5.1

Значения функции f(xi)

 

Из таблицы 5.1 находим x » 1,75, ¦ » -92,12.