Решение задачи многофакторной оптимизации легирования алюминия методом «Нелдера-Мида»
Автор: Zin98 • Декабрь 6, 2022 • Лабораторная работа • 1,220 Слов (5 Страниц) • 202 Просмотры
Лабораторная работа №3
Решение задачи многофакторной оптимизации легирования алюминия методом «Нелдера-Мида»
Цель: оптимизировать содержание меди в меди в алюминиевом сплаве от в диапазоне от 0 до 3% с точностью 0,05% и содержание магния в диапазоне от 0.5 до 7 % с точностью 0,05 % методом прямого поиска – «Нелдера-Мида». Параметром оптимизации является предел прочности на разрыв.
Теоретические сведения
Метод Нелдера — Мида является развитием симплексного метода Хекста и Химсворта. Множество (п + 1)-й равноудаленной точки в п - ном пространстве называется регулярным симплексом. Эта конфигурация рассматривается в методе Спендли, Хекста и Химсворта. Следовательно, двумерном пространстве симплексом является равносторонний треугольник а в трехмерном пространстве — правильный тетраэдр. Идея метода состоит в сравнении значений функции в (п + 1) вершинах симплекса и перемещении симплекса в направлении оптимальной точки с помощью итерационной процедуры. В симплексном методе, предложенном первоначально, регулярный симплекс использовался на каждом этапе. Нелдер и Мид предложили несколько модификаций этого метода, допускающих, чтобы симплексы были правильными. В результате получился очень надежный метод прямого поиска являющийся одним из самых эффективных, если п ≤ 6. В методе Спендли, Хекста и Химсворта симплекс перемещается с помощью трех основных операций: отражения, растяжения и сжатия. Смысл этих операций станет понятным при рассмотрении шагов процедуры.
А. Найдем значения функции вершинах симплекса.
f1=f(x1), f2=f(x2)… fn+1=f(xn+1)
Б. Найдем наибольшее значение функции fh, следующее за наибольшим значением функции fg наименьшее значение функции fl и соответствующие им точки xh , xg, xl.
В. Найдем центр тяжести всех точек, за исключением точки xh . Пусть центром тяжести будет
[pic 1] (1)
вычислим f(xo)=fo .
Г. Удобнее всего начать перемещение от точки хh. Отразив точку хh отноcительно точки х0, получим точку хr и найдем f(xr) = fr .
Операция отражения иллюстрируется рис. 4. Если а > 0 — коэффициент отражения, то положение точки хr определяется следующим образом:
xr - xo = α ( xo - xh ), (2)
т.е. xr = ( 1 + α )xo - αxh.
Замечание. α = ⏐xr-xo⏐/⏐xo-xh⏐
Д. Сравним значения функций fr и fl
1. Если fr < fl, то мы получили наименьшее значение функции. Направление из точки х0 в точку хr наиболее удобно для перемещения. Таким образом, мы производим растяжение в этом направлении и находим точку хе и значение функции fe = f(xe). Рисунок 5 иллюстрирует операцию растяжения симплекса. Коэффициент растяжения у > 1 можно найти из следующих соотношений:
xe - xo=γ( xr -xo ); т.е. xe = γ xr +( 1 - γ )xo.
[pic 2]
Рис. 4 Рис. 5
Замечание, γ =|хе - х0|/|хr - х0|.
а) Если fe < fl, то заменяем точку xh на точку хе и проверяем (n + 1)-ую точку симплекса на сходимость к минимуму (см. шаг 3). Если сходимость достигнута, то процесс останавливается; в противном случае возвращаемся на шаг Б.
б) Если fe >fl, то отбрасываем точку хе. Очевидно, мы переместили слишком далеко от точки х0 к точке хr Поэтому следует заменить точку xh на точку хr , в которой было получено улучшение (шаг Д) проверить сходимость и, если она не достигнута, вернуться на шаг
...