- •Глава 2
- •2.1. Методы нелинейного программирования, используемые в геодезических вычислениях
- •2.1.1. Градиентные методы
- •Р ис. 2.2. Траектория минимизации по методу скорейшего спуска
- •2.1.2. Методы поиска
- •Время вычислений на эвм можно предрассчитать по формуле
- •2.1.3. Метод релаксации
- •2.1.4. Метод Ньютона
- •2.1.5. Сравнение методов нелинейного программирования
2.1.5. Сравнение методов нелинейного программирования
В настоящее время известно большое количество численных методов решения нелинейных экстремальных задач. Большое разнообразие методов объясняется тем, что попытка найти наилучший метод, который позволил бы решать широкий круг задач, встречающихся на практике, сталкивается со значительными трудностями.
Согласно литературным источникам [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
Дополнительные сведения о тестовых примерах
Номер тестового примера |
Название засечки |
Начальные координаты |
в/а |
|
Х (м) |
Y (м) |
|||
1 |
Линейно-угловая |
33005,75 |
106188,63 |
0,65 |
2 |
Линейная |
77459,29 |
93000,00 |
0,70 |
3 |
Обратная |
20000,00 |
57000,00 |
0,14 |
4 |
Прямая |
40000,00 |
108000,00 |
0,70 |
5 |
Гиперболическая |
33000,00 |
108000,00 |
0,56 |
6 |
Линейно-угловая |
20000,00 |
80000,00 |
0,28 |
7 |
Комбинированная |
33005,75 |
106188,63 |
0,60 |
Таблица 2.4
Результаты минимизации целевой функции
Номер тестового примера |
Номер метода нелинейного программирования |
||||||||||||||||
I |
II |
III |
IV |
V |
VI |
||||||||||||
j |
T |
j |
T |
j |
T |
j |
T |
j |
T |
j |
T |
||||||
1 |
17 |
2 |
12 |
6 |
27 |
2 |
4 |
1 |
21 |
3 |
4 |
0-1 |
|||||
2 |
20 |
1 |
9 |
2 |
34 |
1 |
8 |
2 |
25 |
2 |
5 |
0-1 |
|||||
3 |
¾ |
¾ |
5 |
4 |
59 |
4 |
¾ |
¾ |
92 |
11 |
5 |
1 |
|||||
4 |
20 |
2 |
10 |
5 |
41 |
3 |
¾ |
¾ |
28 |
4 |
4 |
0-1 |
|||||
5 |
20 |
2 |
11 |
3 |
25 |
1 |
¾ |
¾ |
20 |
2 |
4 |
0-1 |
|||||
6 |
¾ |
¾ |
10 |
6 |
86 |
6 |
¾ |
¾ |
62 |
9 |
¾ |
¾ |
|||||
7 |
19 |
1 |
10 |
7 |
23 |
3 |
4 |
2 |
36 |
5 |
4 |
0-1 |
|||||
Сейчас широко используются персональные ЭВМ, которые в десятки раз быстрее выполняют арифметические операции по сравнению с ЕС ЭВМ. С увеличением быстродействия ЭВМ сокращаются различия во времени, заметные в табл.2.4. Поэтому при разработке алгоритма минимизации необходимо отдать предпочтение тому методу, который имеет простую стратегию поиска экстремума, удобен для программирования и надежен в работе. Этими характеристиками обладают многие методы нелинейного программирования и, в частности, метод релаксации, примененный автором при разработке технологического алгоритма.
