Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






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

Общая одномерная задача оптимизации формулируется так: найти наименьшее (больше всего) значение целевой функции

в = f(x) (2.3)

определенной на множественном числе допустимых решений задачи :

, и = 1, 2., m, (2.4)

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

Существование решения этой задачи вытекает из следующей теоремы Вейерштрасса:

Всякая функция f(x), непрерывная на отрезке [ а, b ], приобретает на этом отрезке больше всего M и менее всего m значение, то есть существуют такие точки на отрезке [ а, b ] x1 и x2, что для любого [ а, b ] имеет место неравенство:

m = f(x2) - f(x) - f(x1)= M.

Из|с| теоремы не вытекает единственность|единый| решения задачи оптимизации. Не исключается|выключает| возможность, что равные экстремальные значения функции f(x) достигаются сразу в нескольких точках данного отрезка. С этим связаны|повязал| понятия локального и глобального экстремумов (оптимумів|).

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

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

Допустимо, что целевая функция является унимодальной, то есть имеет лишь один экстремум в интервале, который рассматривается. Тогда задача одномерного поиска формулируется так: нужно найти такое значение переменной x, которое принадлежит интервалу (а, b), при котором целевая функция f(x) достигает экстремума. Интервал (а, b) называется интервалом неопределенности. Численные методы решения этой задачи направлены на сужение интервала неопределенности к допустимому значению е, где е – это достаточно малое положительное число ().

Интервал неопределенности можно сузить, определив значение целевой функции в двух или в нескольких точках интервала. Существует несколько способов сужения интервала (а, b). При этом процесс распадается на повторение последовательности определенных действий, которая приводит к последовательности интервалов неопределенности (ai, bi), и = 1, 2., n. Количество итераций n определяется достижением такой длины интервала неопределенности (an, bn), которая удовлетворяет неравенства

bn – an < е (2.5)

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

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

 

 

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

Интервал неопределенности разделяется на две неравных части таким образом, чтобы отношение длины большего отрезка z1 к длине всего интервала Z равнялось отношению длины меньшего отрезка z2 к длине большего отрезка z1:

Учитывая, что Z = z1 + z2, имеем , откуда 0, 618.

Таким образом z1 = 0, 618 Z, z2 = 0, 382 Z.

В этих точках вычисляются значения целевой функции и избирается одна из двух частей. Интервал неопределенности сужается в 1/0, 618 = 1, 618 разы. Наибольшее сокращение интервала неопределенности достигается при вычислении целевой функции в точках, равноудаленных от центра интервала. Координаты точек определяются так:

x1 = b – 0, 618(b – а) x2 = а + 0, 618(b – а) (2.6)

 

 

 

Вычисляем соответствующие значения функции y1 = f(x1) и y2 = f(x2). Рассматриваем интервалы (а, x2) и (x1, b). Длина каждого из них равняется 0, 618 длины интервала (а, b). Лишь один из них содержит искомый экстремум. Если отыскивается минимум функции, для последующего рассмотрения избирается тот, который содержит меньше из значений y1 и y2. С этим интервалом поступаем так же: разделяем двумя точками, но одна из точек придется на точку предыдущего интервала. То есть нужно будет найти лишь одну точку и значение функции в этой точке. Алгоритм метода «золотого» перерезу приведено выше.

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

Метод золотого сечения всегда сходится, потому что длина интервалов неопределенности создает геометрическую прогрессию со знаменателем более малым 1: q = 0, 618. Метод золотого сечения есть наиболее экономичним. Он может применяться даже к недиференцируемым функциям и всегда сходится и при том линейно. Если на [ а, b ] функция имеет несколько локальных экстремумов, процесс сходится лишь к одному из них. При отыскании максимума функции в алгоритме в блоке сравнения значений y1 и y2 нужно изменить знак, то есть записать: y1 > y2.

Пример. Найти экстремум функции в = (x – 2)2 + 1 на интервале (0; 4).

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

 

 

 
 

 


Таким образом, функция имеет на этом интервале лишь|только| один минимум и можно сократить интервал неопределенности, хотя бы до|до| (1; 4). Расчеты удобно выполнять|исполнять| в среде Excel|. Размещение на листе|листе| Excel начальных|первоначальных| границ|границы| интервала и формул, которые соответствуют алгоритму метода «золотого сечения», может быть таким:

 

  A B C D E F
  I a b b-a x1 x2
        =$C7-$B7 =$C7-0, 618*$D7 =$B7+0, 618*$D7
    =ЕСЛИ(G7< H7; B7; E7) =ЕСЛИ(G7< H7; F7; C7) =$C8-$B8 =$C8-0, 618*$D8 =$B8+0, 618*$D8
    =ЕСЛИ(G8< H8; B8; E8) =ЕСЛИ(G8< H8; F8; C8) =$C9-$B9 =$C9-0, 618*$D9 =$B9+0, 618*$D9

 

  G H I J K
  y1=f(x1) y2=f(x2) X* minF(x) EPS
  =(E7-2)^2+1 =(F7-2)^2+1 =ЕСЛИ(D7< $K$7; D7/2+B7) =ЕСЛИ(I7; (I7-2)^2+1) 0, 005
  =(E8-2)^2+1 =(F8-2)^2+1 =ЕСЛИ(D8< $K$7; D8/2+B8) =ЕСЛИ(I8; (I8-2)^2+1)  
  =(E9-2)^2+1 =(F9-2)^2+1 =ЕСЛИ(D9< $K$7; D9/2+B9) =ЕСЛИ(I9; (I9-2)^2+1)  

Последняя строка копируется, пока в столбце I не появится число, то есть пока длина интервала неопределенности не станет меньше заданной точности ε.

Будем иметь:

 

 

I a b b-a x1 x2 y1=f(x1) y2=f(x2) X* minF(x)
  1, 00000 4, 00000 3, 0000000 2, 1460000 2, 8540000 1, 0213160 1, 7293160 ЛОЖЬ ЛОЖЬ
  1, 00000 2, 85400 1, 8540000 1, 7082280 2, 1457720 1, 0851309 1, 0212495 ЛОЖЬ ЛОЖЬ
  1, 70823 2, 85400 1, 1457720 2, 1459129 2, 4163151 1, 0212906 1, 1733183 ЛОЖЬ ЛОЖЬ
  1, 70823 2, 41632 0, 7080871 1, 9787173 2, 1458258 1, 0004530 1, 0212652 ЛОЖЬ ЛОЖЬ
  1, 70823 2, 14583 0, 4375978 1, 8753904 1, 9786635 1, 0155276 1, 0004552 ЛОЖЬ ЛОЖЬ
  1, 87539 2, 14583 0, 2704355 1, 9786967 2, 0425195 1, 0004538 1, 0018079 ЛОЖЬ ЛОЖЬ
  1, 87539 2, 04252 0, 1671291 1, 9392337 1, 9786762 1, 0036925 1, 0004547 ЛОЖЬ ЛОЖЬ
  1, 93923 2, 04252 0, 1032858 1, 9786889 2, 0030643 1, 0004542 1, 0000094 ЛОЖЬ ЛОЖЬ
  1, 97869 2, 04252 0, 0638306 2, 0030722 2, 0181362 1, 0000094 1, 0003289 ЛОЖЬ ЛОЖЬ
  1, 97869 2, 01814 0, 0394473 1, 9937577 2, 0030673 1, 0000390 1, 0000094 ЛОЖЬ ЛОЖЬ
  1, 99376 2, 01814 0, 0243784 2, 0030703 2, 0088236 1, 0000094 1, 0000779 ЛОЖЬ ЛОЖЬ
  1, 99376 2, 00882 0, 0150659 1, 9995129 2, 0030685 1, 0000002 1, 0000094 ЛОЖЬ ЛОЖЬ
  1, 99376 2, 00307 0, 0093107 1, 9973144 1, 9995118 1, 0000072 1, 0000002 ЛОЖЬ ЛОЖЬ
  1, 99731 2, 00307 0, 0057540 1, 9995125 2, 0008704 1, 0000002 1, 0000008 ЛОЖЬ ЛОЖЬ
  1, 99731 2, 00087 0, 0035560 1, 9986728 1, 9995120 1, 0000018 1, 0000002 1, 9990924 1, 0000008
  1, 99867 2, 00087 0, 0021976 1, 9995123 2, 0000309 1, 0000002 1, 0000000 1, 9997716 1, 0000001
  1, 99951 2, 00087 0, 0013581 2, 0000311 2, 0003516 1, 0000000 1, 0000001 2, 0001914 1, 0000000
  1, 99951 2, 00035 0, 0008393 1, 9998329 2, 0000310 1, 0000000 1, 0000000 1, 9999320 1, 0000000
  1, 99983 2, 00035 0, 0005187 2, 0000311 2, 0001535 1, 0000000 1, 0000000 2, 0000923 1, 0000000
  1, 99983 2, 00015 0, 0003206 1, 9999554 2, 0000310 1, 0000000 1, 0000000 1, 9999932 1, 0000000

 

Таким образом, функция достигает своего минимума f(2)= 1 при x = 2. Корень определен с точностью, которая|какая| не превышает половину длины интервала неопределенности, то есть заданной величины ε = 0, 005. Начиная с 14–й| итерации это условие выполняется|исполняет|, а начиная с|с| 17–йй| погрешность становится|стает| меньше, чем 0, 0005. Значение минимума функции почти не изменяется уже начиная с 14–й| итерации.

 

<== предыдущая лекция | следующая лекция ==>
Рульове управління ВАЗ-2110 | Ббк 74. 58я73
Поделиться с друзьями:

mylektsii.su - Мои Лекции - 2015-2024 год. (0.01 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал