| Сжатие, использующее точку С
 
 
 
 Если значения функции в точках R и W одинаковы, следует проверить другую точку. Возможно, значение функции меньше в точке М, но нельзя заменять вершину W точкой М, так как три точки должны составлять треугольник. Рассмотрим две средние точки С1 и С2, которые лежат на отрезках WM и MR соответственно (рис. 4.3). 
 Рис. 4.3. Сжатие точки С1 или С2 для метода Нелдера-Мида Точку, в которой функция принимает наименьшее значение, обозначаем через С и получаем новый треугольник BGC. Сокращение по направлению к В Если значение функции в точке С не меньше, чем значение в W, точки G и W следует "стянуть" к точке В (рис. 4.4). 
 Рис. 4.4. Сокращение треугольника к точке В   Точку G заменяем точкой M, a W – точкой S, которая является средней точкой на отрезке, соединяющем точки В и W. Численно эффективный алгоритм будет вычислять функцию только при необходимости. На каждом шаге находим новую вершину, которой заменяем вершину W. После ее нахождения в дальнейшем исследовании не будет необходимости и шаг итерации будет завершен. Алгоритм Нелдера-Мида 1. Задать начальный симплекс, вычислить значения ЦФ в вершинах симплекса, выбрать вершины B, W, G. 2. Если выполнены условия окончания поиска, то объявить точку B минимумом и перейти на 500 3. Выполнить операцию отражения для получения вершины R. 4. Если f(R) < f(G), то перейти на 5 (отражение, либо растяжение) Иначе перейти на 6 (сжатие либо растягивание) 5. Если f(B) < f(R) то заменить W на R, иначе вычислить Е и f(E), Если f(E) < f(B) то замена W на Е иначе замена W на R. Перейти на 2 6. Если f(R) < f(W) то замена W на R Вычислить С = (М+ R)/2 или С = (М+ R)/2 и f(С) Если f(С) < f(W) то замена W на С иначе вычислить S и f(S) замена W на S, замена G на M Перейти на 2. 7. Конец алгоритма Поиск минимума ЦФ завершается, когда размеры симплекса или разность между значениями в вершинах симплекса становятся достаточно малыми. Часто используют дисперсия 
 где  – значения ЦФ в вершинах симплекса,  – среднее значение ЦФ в вершинах симплекса  .
 Выполнение условий окончания поиска  соответствует либо малому ребру симплекса, либо попаданию стационарной точки внутрь симплекса, либо одновременному выполнению обоих условий. Основным преимуществом симплексного метода является возможность работы с большим симплексом, т. е. сильно разнесенными точками. Это помогает избежать сжатия симплекса в точке локального минимума. Симплексный метод предпочтителен при выявлении области минимума функции ошибок, т. е. начального приближения к точке минимума при переходе к другим методам оптимизации. Метод Хука-Дживса Данный метод один из наиболее простых прямых методов поиска (1960 г). Метод использует попеременно исследующий (зондирующий) поиск и поиск по образцу (модельный ход). 1. Исследующий поиск позволяет из текущей точки  пространства выбрать направление, движение в котором обеспечивает минимизацию целевой функции. 2. После определения направления от точки  выполняется поиск по образцу (модельный ход), т.е. используется информация о проведении функции, полученная в исследующем поиске. Алгоритм Хука-Дживса 1. Ввести начальные значения:  - начальная базисная точка;  – шаг изменения переменной;  - минимальное значение шага;  < 1 – константа изменения длины шага 
 
 2. Вычислить значение ЦФ в базисной точке 
 3. Выполнить исследующий поиск в точке  , получить новую базисную точку  и значение ЦФ в этой точке,  . 4. Если  (значение ЦФ уменьшилось), перейти на => 8 5. Выполнить поиск по образцу, используя новую базисную точку  ,  .
 6. Выполнить исследующий поиск в т.  , получить точку  и значение ЦФ  . 7. Если  , определить новую базисную точку: присвоить  ;  ;  , перейти на => 5. 8. Если  , то уменьшить длину шага,  , перейти на => 3. 9. Закончить поиск, печатать результаты. Окончание поиска происходит при условии, что длина шагов  (минимального заданного значения) Исследующий поиск метода Хука-Дживсасодержит такие шаги: 1. Вход: базисная точка  , значение ЦФ  ; Задать начальное значение счетчика итераций k = 1 и начальное значение шага переменой h. 2. Увеличить координату  на шаг  :  (для k =1 будет  )
 Вычислить значение функции  3. Если  , перейти на => 7 4. Уменьшить координату на шаг  :  (для k = 1  )
 5. Если  , перейти на => 7 6. Если не достигнуто уменьшения ЦФ, оставить  без изменений, и перейти на => 8. 7. Запомнить новые значения  и  . 8. Если не все переменные использованы, т.е.  , то перейти к следующей переменной,  , и перейти на => 2, иначе закончить поиск, перейти на => 9 9. Конец исследующего поиска. Получена новая базисная точка  и значение ЦФ  . Достоинства алгоритма Хука-Дживса: - используются простые операции, не приводящие к запрещенным арифметическим действиям (типа деления на 0); - не высокие требования к памяти компьютера Недостатки алгоритма: - исследующий поиск выполняется только в направлении осей координат, что может привести к прекращению поиска без достижения минимума, если направление «оврага» не параллельно осям координат; - большое количество вычислений целевой функции. В этом случае при выполнении условия окончания поиска целесообразно выбрать другую начальную точку и повторить поиск минимума. Решение можно считать найденным при совпадении минимумов. Окончание поиска по методу Хука-Дживса происходит при длине шагов  меньше заданного  . Если значение ошибки (целевой функции) не удовлетворяют проектировщика, то можно повторить процесс оптимизации, задав новые значения компонентов или модифицировать принципиальную схему для получения желаемого результата. 
 
 
 
 |