- •Лабораторная работа 1. Исследование методов одномерного поиска минимума унимодальных функций
- •Требования задания
- •Контрольные вопросы
- •Содержание отчета
- •Лабораторная работа 2. Исследование методов полиномиальной интерполяции для поиска минимума целевых функций
- •Требования задания
- •Контрольные вопросы
- •Содержание отчета
- •3.1 Требования задания
- •3.2 Контрольные вопросы
- •Лабораторная работа 3. Исследование методов линейного поиска
- •3.3 Содержание отчета
- •Лабораторная работа 4. Исследование градиентных методов
- •4.1 Требования задания
- •4.2 Контрольные вопросы
- •4.3 Содержание отчета
- •Лабораторная работа 5. Проектирование программы оптимизации
- •5.1 Требования задания
- •5.2 Контрольные вопросы
- •5.3 Содержание отчета
- •Лабораторная работа 6. Исследование модификаций ньютоновских оптимизационных процессов
- •6.1 Требования задания
- •6.2 Контрольные вопросы
- •6.3 Содержание отчета
- •Лабораторная работа 7. Исследование методов безусловной оптимизации первого порядка
- •7.1 Требования задания
- •7.2 Контрольные вопросы
- •7.3 Содержание отчета
- •Лабораторная работа 8. Исследование методов безусловной оптимизации нулевого порядка
- •8.1 Требования задания
- •8.2 Контрольные вопросы
- •8.3 Содержание отчета
- •Лабораторная работа 9. Исследование алгоритмов случайного поиска
- •9.1 Требования задания
- •9.2 Контрольные вопросы
- •8.3 Содержание отчета
- •Приложения Приложение 1. Метод средней точки (метод Больцано)
- •Приложение 2. Метод трехточечного поиска на равных интервалах
- •Приложение 3. Метод Ньютона
- •Приложение 4. Метод линейной интерполяции (метод секущих)
- •Приложение 5. Метод кубической интерполяции для одномерной минимизации
- •Приложение 6. Метод Фибоначчи
- •Приложение 7. Метод Зангвилла
- •Приложение 8. Алгоритм lPт поиска
- •Приложение 9. Минимизация целевых функций в Microsoft Ecxel 8.0
- •Приложение 10. Тестовые функции
- •Список рекомендуемой литературы
Приложение 8. Алгоритм lPт поиска
Для зондирования гипер-параллелепипеда в алгоритме случайного поиска можно используют точки LPτ –последовательности, обладающие на сегодняшний день наилучшими свойствами равномерного покрытия области.
Для генерации точек LPτ последовательности можно использовать один из двух алгоритмов: логический и арифметический.
Логический алгоритм обладает большим быстродействием, но требует наличия в программном обеспечении ЭВМ специальных логических функций для типа с плавающей точкой.
Арифметический алгоритм имеет меньшее, хотя и приемлемое быстродействие.
В соответствии с арифметическим алгоритмом i-ая координата j-ой точки в гиперкубе D:{X | 0 ≤ Xi ≤ 1} вычисляется в соответствии с выражением (*):
aij = ∑k=1,m 2-k+1 {(1/2) ∑l=1,m [2 {i * 2-l }] [2 {rjl*2k-1-l}]}, |
(П 8.1) |
где m = 1 + [ln(i) / ln(2)],
[…] – операция взятия целой части числа,
{…} – операция взятия дробной части числа,
rjl – элемент таблицы числителей направляющих чисел.
Матрицы числителей направляющих чисел составлены для достаточно большого количества точек и для большой размерности, достаточной для решения практических задач. Например, матрица 8 x 10 см. рис. П 8.1. дает возможность вычислять до 210 = 1024 точек при векторе варьируемых параметров размерностью до 8.
rjl |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
2 |
1 |
3 |
5 |
15 |
17 |
51 |
85 |
255 |
257 |
771 |
3 |
1 |
1 |
7 |
11 |
13 |
61 |
67 |
79 |
465 |
721 |
4 |
1 |
3 |
7 |
5 |
7 |
43 |
49 |
147 |
439 |
1013 |
5 |
1 |
1 |
5 |
3 |
15 |
51 |
125 |
141 |
177 |
759 |
6 |
1 |
3 |
1 |
1 |
9 |
59 |
25 |
89 |
321 |
835 |
7 |
1 |
1 |
3 |
7 |
31 |
47 |
109 |
173 |
181 |
949 |
8 |
1 |
3 |
3 |
9 |
9 |
57 |
43 |
43 |
255 |
113 |
Рис. П 8.1. Матрица направляющих чисел 8 х 10
Для перевода точки, полученной в соответствии с выражением (П 8.1), в произвольный гипер-параллелепипед, обычно используют линейное преобразование:
Xij = Aj + aij (Bj - Aj), |
(П 8.2) |
Однако, если границы гипер-параллелепипеда имеют значительный разброс и отличаются друг от друга на несколько порядков, то для обеспечения попадания пробных точек в пограничные области обычно применяют логарифмическое преобразование границ вариации и варьируемого вектора:
Xij = 10 в степени (log(Aj)+ aij (log(Bj) – log(Aj))), |
(П 8.3) |
