Алгоритм симплекс метода
Начальный этап. Пусть e> 0 - скаляр, используемый в критерии остановки, l – длина ребра симплекса, α – коэффициент уменьшения размеров симплекса. Выбрать начальную точку X1, рассчитать вершины исходного симплекса X1, X2, …, Хn+1, определить значение функции в этих вершинах f(X1),…, f(Xn+1) и перейти к основному этапу. Основной этап. Шаг 1. Определить из n+1 вершин вершину с максимальным значением функции и соответствующий ей номер j. Рассчитать новую вершину Хn+2= Шаг 2. Если длина ребра Пример расчета экстремума функции симплекс-методом. Постановка задачи. Минимизировать f(X) = (x1 - 2)4 + (х1 - 2х2)2 с точностью e=0,01. Выбираем начальное приближение X(1) = [2.5, 2.5]Т, длину ребра симплекса l=0.5 и коэффициент сжатия симплекса a = 2. Результаты расчета для данных условий представлены в таблице 2.4, графическая интерпретация метода – на рисунке 2.4. Таблица 2.4 Результаты расчета минимума функции f(X) = (x1 - 2)4 + (х1 - 2х2)2 симплекс методом.
Из таблицы видно, что на пятой итерации происходит зацикливание симплекса, так как отраженная вершина № 2 вновь становится «наихудшей». После редукции симплекса реализовано семь итераций, после чего вновь появляется эффект зацикливания. В результате чего вновь производится редукция. Полученный симплекс не находится в области экстремума функции. Поэтому проведенная редукция не дает желаемого результата, что говорит о плохой сходимости метода на функциях "овражного" типа.
Метод Нелдера и Мида. Отмеченные выше недостатки регулярного симплекса, а также отсутствие ускорения поиска и трудности при проведении поиска на искривленных “оврагах” и “хребтах” явились причиной разработки Нелдером и Мидом метода, в котором симплекс меняет свою форму, т. е. представляет деформируемый многогранник. Изменение формы многогранника происходит за счет операций растяжения, сжатия и редукции. 1. Построение начального многогранника. Выбирается произвольной формы многогранник с координатами вершин Xi(k) = [xi1(k), …, xij(k), …, xin(k)]Т, i = 1,…, n+1. Индекс (k) будет обозначать k-й этап поиска. Значение целевой функции в Xi(k) равно f(Xi(k)). 2. Расчет координат центра тяжести. Определяют те векторы х многогранника, которые дают максимальное и минимальное значение f(X), а именно f(Xh(k)) = max{f(X1(k)), …, f(Xn+1(k)); f(Xl(k)) = min{ f(X1(k)), …, f(Xn+1(k)). Тогда координаты центра тяжести рассчитываются по формуле
где индекс j обозначает координатное направление. 3. Отражение. Представляет проектирование Xh(k) через центр тяжести в соответствии с соотношением
где a > 0 - коэффициент отражения; Xh(k) - вершина, в которой функция f(X) имеет наибольшее значение. В обычном симплексе a = 1. 4. Растяжение. Происходит в случае, если
где g > 1 - коэффициент растяжения. Если 5. Сжатие. Если
где 0 < b < 1 - коэффициентом сжатия. Затем 6. Редукция. Происходит при условии, если
Затем возвращаемся к операции 2 для продолжения поиска на (k+1)-м шаге. Для окончания поиска Нилдер и Мид используют критерий вида
где e- заданная точность поиска;
Популярное: Модели организации как закрытой, открытой, частично открытой системы: Закрытая система имеет жесткие фиксированные границы, ее действия относительно независимы... Как распознать напряжение: Говоря о мышечном напряжении, мы в первую очередь имеем в виду мускулы, прикрепленные к костям ... Личность ребенка как объект и субъект в образовательной технологии: В настоящее время в России идет становление новой системы образования, ориентированного на вхождение... ![]() ©2015-2024 megaobuchalka.com Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (795)
|
Почему 1285321 студент выбрали МегаОбучалку... Система поиска информации Мобильная версия сайта Удобная навигация Нет шокирующей рекламы |