Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Сравнение методов нелинейного программирования ⇐ ПредыдущаяСтр 6 из 6
В настоящее время известно большое количество численных методов решения нелинейных экстремальных задач. Большое разнообразие методов объясняется тем, что попытка найти наилучший метод, который позволил бы решать широкий круг задач, встречающихся на практике, сталкивается со значительными трудностями. Согласно литературным источникам [3, 37, 39, 86, 103], методы нелинейного программирования разграничивают на три основные группы: прямого поиска; методы, использующие первые частные производные целевой функции; а также методы, требующие знания вторых производных. При разработке методов даются экспериментальные либо теоретические характеристики эффективности применения (например, скорости сходимости). Теоретические оценки получены не для всех методов. Если они известны, то, как правило, их определяют на основе жестких требований к целевой функции, которые нелегко проверить на практике. Поэтому наиболее часто выполняют экспериментальную оценку алгоритмов на основе сравнительного анализа различных методов, используя реально существующие (не теоретические) объекты исследования (тестовые задачи). Важную роль при экспериментальном сравнении алгоритмов играет выбор критериев сравнения. Обычно таковыми служат: точность решения, определяющаяся локализацией достаточно малой окрестности экстремума, т.е. близость вектора переменных к истинным экстремальным значениям; количество вычисленных значений целевой функции и время счета на ЭВМ [103]. При сравнении методов необходимо также учитывать широту области применения алгоритма, простоту его реализации и надежность работы в трудных ситуациях. Результаты экспериментального сравнения зависят от того, как запрограммированы алгоритмы для ЭВМ и какие тестовые примеры выбраны для сравнения. Для выполнения сравнительного анализа применим следующие известные методы нелинейного программирования: наискорейшего спуска; Хука - Дживса; Нелдера-Мида; Пауэлла; релаксации и метод Ньютона. С целью общности экспериментальных исследований предусмотрим минимизацию только целевой функции (2.10). Для сравнения методов выберем семь тестовых примеров, информация о которых помещена в приложении I. В табл. 2.3 указаны виды засечек, начальные координаты откуда начинались итерации и в последней колонке таблицы дано отношение малой к большой полуоси эллипса ошибок. Чем меньше это отношение, тем труднее выполняется поиск минимума. Для вычисления весов измерений принято sb = 1.0²; sS = 0,02 м; для разности и суммы расстояний sDS = sSS = 0,10 м. Все вычисления выполнялись по специально составленным программам для ЭВМ ЕС-1022 на алгоритмическом языке Фортран-4. Результаты вычислений (j - количество итераций и Т - время счета) представлены в табл. 2.4. Проведён сравнительный анализ методов нелинейного программирования, давая последовательную характеристику каждому из них. Метод наискорейшего спуска (I) быстро сходится к минимуму, но для тестовых примеров 3 и 6 не найдено решение из-за малой области сходимости. Метод Хука-Дживса (II) имеет большую область сходимости, легко программируется, но затрачивает много машинного времени. Метод Нелдера-Мида (III) имеет наилучшие характеристики из всех примененных методов. Метод Пауэлла (IV) быстро сходится к минимуму для всех выпуклых функций, но обладает самой маленькой областью сходимости. Вот почему им не решены тестовые примеры 3 - 6. Метод релаксации (V) прост в программировании и надежен в работе. Особенно характерно для него то, что им может быть локализована сколь угодно малая область минимума. Метод Ньютона-Гаусса (VI) быстрее всех методов приводит к решению, но не для всех примеров характеризуется большой областью сходимости, что в дальнейшем будет в 2.2.3 предметом специального изучения. Таблица 2.3 Дополнительные сведения о тестовых примерах
Таблица 2.4 Результаты минимизации целевой функции
Сейчас широко используются персональные ЭВМ, которые в десятки раз быстрее выполняют арифметические операции по сравнению с ЕС ЭВМ. С увеличением быстродействия ЭВМ сокращаются различия во времени, заметные в табл.2.4. Поэтому при разработке алгоритма минимизации необходимо отдать предпочтение тому методу, который имеет простую стратегию поиска экстремума, удобен для программирования и надежен в работе. Этими характеристиками обладают многие методы нелинейного программирования и, в частности, метод релаксации, примененный автором при разработке технологического алгоритма.
|