Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Метод сканирования
Идея алгоритма перебора крайне проста. Вычисляют значения функции в конечном числе точек области Dx (в узлах координатной сетки).Из вычисленных значений выбирают наименьшее (наибольшее) . Координаты соответствующего узла сетки – это координаты экстремума, определённые с точностью до , где – h шаг сетки (рис. 6.10). Рисунок 3.11 – Поиск оптимума на сетке переменных Точность определения точки минимума, причем глобального, зависит от плотности наполнения области Dx дискретным множеством , то есть от величины шага h координатной сетки, тем выше точность определения положения оптимума, однако при уменьшении h быстро растёт объём вычислений. Если интервал изменения каждой переменной разбить К равных частей, то h равно , При этом необходимое количество вычислений I(x) равно . Поэтому эффективное применение данного метода ограничивается задачами невысокой размерности (n=2-3). При большой размерности вектора требуется выполнение большого объёма вычислительной работы. Пусть область Dx – геперкуб: , в котором ищется .Точность определения координат вектора , минимизирующего , положим равной 0,1. Тогда интервалы следует разбить на 10 частей с шагом h=0,1 плоскостями, ортогональными и вычислить во всех точках перечисления плоскостей значения . Всего потребуется вычислить в 11n точках. Пусть для нахождения I в каждой точке требуется примерно 102n арифметических операций. Тогда общее число арифметических операций алгоритма перебора примерно 11(n+2)n и при n=10 на ЭВМ с быстродействием 109 oп/c требуется примерно 104 с, т.е. примерно 167 минут непрерывной работы ЭВМ. Иногда поиск осуществляется с переменным шагом сканирования. Вначале величина h выбирается достаточно большой, выполняется грубый поиск для локализации экстремума, а поиск в районе оптимума осуществляется с меньшим шагом. Достоинства метода – возможность определения глобального оптимума и независимость поиска от вида оптимизируемой функции.
3.3.2 Метод Гаусса-Зейделя
Метод Гаусса-Зейделя, называемый также методом покоординатного спуска, аналогичен методу релаксации. Отличие заключается лишь в том что, в этом методе не определяется осевое направление, вдоль которого значение изменяется наиболее сильно. Поочерёдно изменяются все переменные. Алгоритм поиска минимума следующий. Пусть ищется минимум . Устанавливается очерёдность изменения – и начальная точка поиска. Затем все переменные фиксируются на уровне , изменяется по алгоритму ; ; ; (3.22) где – шаг изменяется , обычно не зависит от k. После каждого шага вычисляется , сравнивается с предыдущим значением, критерия шаги продолжаются до достижения частного оптимума по xj = x1. В этой точке величина фиксируется и изменяется x2 до достижения оптимума по x2 и т.д. После того как достигается оптимум по последней переменной xn, снова изменяется x1 и весь цикл повторяется до тех пор, пока не будет найдена точка оптимума. На рисунке 3.11 показан алгоритм поиска минимума для функции двух переменных. Рисунок 3.12 – Траектория движения к оптимуму в методе координатного спуска Заметим что для функции двух переменных методы релаксации и Гаусса-Зейделя совпадают. Если первый шаг изменения xj не улучшает значение критерия, т.е. , а , то выполняется шаг по xj в обратном направлении , т. е. Первый шаг пробный. Если и этот шаг неудачный, то переходят к изменению xj+1 и т.д. Поиск заканчивают когда достигается точка , из которой при движении в любом осевом направлении улучшение критерия не наблюдается. Рассмотрим вопрос улучшения алгоритма поиска . Пусть в области допустимых решений D задано нулевое приближение . Рассматриваем функцию при фиксированных значениях как функцию одной переменной x1, т. е. . (3.23) Минимизируя находим значение , доставляющее минимум функцию (3.23): ; . Далее при фиксированных значениях рассматриваем как функцию одной переменной x2. Находим её минимум ; . Продолжая эту процедуру последовательно, после n шагов получаем точку , в которой выполняется условие . В результате одного шага покоординатного спуска происходит переход из начальной точки в точку . Если при этом оказывается, что , то начальная точка – точка, доставляющая минимум функцию . Если ,то выполняется следующий шаг покоординатного спуска, в котором за начальную точку принимается ,получаем и т.д. Этот процесс продолжается до тех пор пока не выполнится какое-либо условие окончания поиска, например такое , (3.24) где – заданная точность. или (3.25) Таким образом, поиск минимума функции одной переменной занимает центральное место в рассматриваемом алгоритме покоординатного спуска. Простота метода и сравнительно небольшой объём вычислений обусловили его распространение в автоматических системах поиска.
Date: 2015-05-23; view: 1568; Нарушение авторских прав |