- •Е.В. Макарова
- •Введение
- •Практическое задание № 1. Задача распределения ресурсов
- •Элементы теории.
- •Элементы теории.
- •Контрольные вопросы
- •Практическое задание № 2. Транспортная задача
- •Контрольные вопросы
- •Практическое задание № 3. Задача о назначениях
- •Контрольные вопросы
- •Практическое задание № 4. Определение наикратчайшего пути между вершинами ориентированного графа с циклами
- •Контрольные вопросы
- •Практическое задание № 5. Размещение проектируемого объекта
- •Контрольные вопросы
- •Практическое задание № 6. Задача об изготовлении стержней
- •Контрольные вопросы
- •Практическое задание № 7. Определение границ интервала поиска оптимума одномерной функции
- •Элементы теории.
- •Контрольные вопросы
- •Практическое задание № 8. Определение оптимума одномерной функции. Методы исключения интервалов. Метод деления интервала пополам
- •Элементы теории
- •Контрольные вопросы
- •Практическое задание № 9. Определение оптимума одномерной функции. Методы исключения интервалов. Метод золотого сечения
- •Элементы теории.
- •Контрольные вопросы
- •Индивидуальные задания для самостоятельной работы Задание 1
- •Задание 2
- •Задание 3
- •Задание 4
- •Задание 5
- •Задание 6
- •Задание 7
- •Задание 8
- •Задание 9
- •Задание 10
- •Заключение
- •Список рекомендуемой литературы
Контрольные вопросы
В каких точках интервала сравниваются значения функции при использовании метода деления интервала пополам?
Что представляет собой минимум функции?
Для чего используется заданная точность (l)?.
Для чего уменьшают интервал поиска?
Какие методы исключения интервалов существуют в оптимизации?
Какую часть интервала исключают на каждом шаге поиска в методе деления интервала пополам?
Что позволяет исключить метод деления интервала пополам?
Какие основные шаги поисковой процедуры нахождения точки минимума в заданном интервале?
Что служит исходными данными для нахождения минимума функции методом деления интервала пополам?
Какие величины должна содержать таблица расчетных данных согласно алгоритму расчета для нахождения минимума функции методом деления интервала пополам?
Какие формулы для расчета заданных границ необходимо внести, чтобы при копировании на все остальные итерации давали бы правильные значения границ в зависимости от значений функции в заданных точках?
Что можно использовать при нахождении заданных границ при решении задачи в среде MS EXCEL?
До каких значений L ведут расчеты для нахождения минимума функции методом деления интервала пополам?
Практическое задание № 9. Определение оптимума одномерной функции. Методы исключения интервалов. Метод золотого сечения
Задание.
Найти минимум функции методом золотого сечения с заданной точностью λ.
Сравнить методы исключения интервалов по числу итераций и количеству вычислений и сделать выводы.
Исходные данные взять из табл.7.1 и 8.1 (практические задания № 7 и № 8).
Решить задачу методом золотого сечения.
Работа рассчитана на 1 аудиторный час.
Элементы теории.
Метод золотого сечения — метод поиска значений действительно-значной функции на заданном отрезке. В основе метода лежит принцип деления в пропорциях золотого сечения. Наиболее широко известен как метод поискаэкстремумав решениизадач оптимизации.
Этот метод также относится к методам исключения интервалов. Он отличается от метода деления интервала пополам тем, что единичный интервал делится двумя пробными точками на три части (рис. 9.1). Каждая пробная точка отстоит от конца интервала на одну и ту же величину 7 » 0,61803.
Пусть задана функцияf(x): [a, b] → R, f(x) Î C ([a, b]). Тогда для того, чтобы найти определённое значение этой функции на заданном отрезке, отвечающее критерию поиска (пусть это будет минимум), рассматриваемый отрезок делится в пропорции золотого сечения в обоих направлениях, то есть выбираются две точких(1) и x(2) такие, что:
Таким образом: и
То есть точка х(1) делит отрезок [a, x(2)] в отношении золотого сечения. Аналогично x(2) делит отрезок [x(1), b] в той же пропорции. Это свойство и используется для построения итеративного процесса.
Рис. 9.1. Иллюстрация выбора промежуточных точек метода золотого сечения.
Алгоритм применения этого метода следующий:
на первой итерации заданный отрезок делится двумя симметричными относительно его центра точками и рассчитываются значения в этих точках;
после чего тот из концов отрезка, к которому среди двух вновь поставленных точек ближе оказалась та, значение в которой максимально (для случая поиска минимума), отбрасывают;
на следующей итерации в силу показанного выше свойства золотого сечения уже надо искать всего одну новую точку;
процедура продолжается до тех пор, пока не будет достигнута заданная точность.
Определим величину j = 0,61803×(b - a).
Определим х(1) = b - j; x(2) = a + j.
Подсчитаем значения f(х(1)) и f(x(2)).
Сравним f(х(1))и f(x(2)). Если f(х(1)) < f(x(2)), исключим интервал (x(2), b). Положим b = x(2). Определим L = b - a. Если L > λ, перейдем к п.1. Если L £ λ, решение найдено.
Если f(х(1)) > f(x(2)), исключаем интервал (а, х(1)). Положим а = х(1). Определим L = b - a. Если L > ɛ, перейдем к п.1. Если L £ λ, решение найдено.
Если f(х(1)) = f(x(2)), исключаем интервалы (a, х(1)) и (x(2), b). Положим а = х(1), b = x(2). Определим L = b - a. Если L > λ, перейдем к п.1. Если L £ ɛ, решение найдено.
Достоинством методов исключения интервалов является то, что они основаны лишь на вычислении значений функций. Не требуется, чтобы функции были дифференцируемыми, более того, допустимы случаи, когда функцию нельзя даже записать в аналитическом виде. Единственным требованием является возможность определения значений функции в заданных точках х с помощью прямых расчетов или имитационных экспериментов. Метод же золотого сечения выделяется среди методов исключения интервалов тем, что он требует наименьшего числа оцениваний значений функции для достижения одной и той же заданной точности.
Выполнение работы в среде MS EXCEL
Реализация этого метода в MS EXCEL аналогична реализации предыдущего метода. Исходными данными также служат определенные интервалы поиска и заданное значение точности поиска ɛ. Таблица расчетных данных должна содержать, согласно алгоритму расчета, графы расчета величин a, b, t, L, х(1), x(2), f(х(1)), f(x(2)). Все величины, кроме a и b, рассчитываются по приведенным в алгоритме формулам, а величины a и b – по формулам, содержащим логические функции EXCEL. При этом формулы, введенные на второй итерации, должны быть составлены таким образом, чтобы при копировании на последующие итерации они обеспечивали бы правильность расчета без редактирования. Расчет заканчивается на той итерации, для которой L < λ.
Пример выполнения представлен в табл. 9.1.
Таблица 9.1
f(x) = (100-x)2 λ = 0,1 j = 0,61803
Итерация |
a |
b |
τ |
х(1) |
x(2) |
f(х(1)) |
f(x(2)) |
L |
1 |
65,000 |
185,000 |
74,164 |
110,836 |
139,164 |
117,417 |
1533,825 |
120,000 |
2 |
65,000 |
139,164 |
45,836 |
93,328 |
110,836 |
44,513 |
117,417 |
74,164 |
3 |
65,000 |
110,836 |
28,328 |
82,508 |
93,328 |
305,978 |
44,513 |
45,836 |
4 |
82,508 |
110,836 |
17,508 |
93,328 |
100,016 |
44,513 |
0,000 |
28,328 |
5 |
93,328 |
110,836 |
10,820 |
100,016 |
104,149 |
0,000 |
17,210 |
17,508 |
6 |
93,328 |
104,149 |
6,687 |
97,461 |
100,016 |
6,446 |
0,000 |
10,820 |
7 |
97,461 |
104,149 |
4,133 |
100,016 |
101,594 |
0,000 |
2,541 |
6,687 |
8 |
97,461 |
101,594 |
2,554 |
99,040 |
100,016 |
0,922 |
0,000 |
4,133 |
9 |
99,040 |
101,594 |
1,579 |
100,016 |
100,619 |
0,000 |
0,383 |
2,554 |
10 |
99,040 |
100,619 |
0,976 |
99,643 |
100,016 |
0,128 |
0,000 |
1,579 |
11 |
99,643 |
100,619 |
0,603 |
100,016 |
100,246 |
0,000 |
0,060 |
0,976 |
12 |
99,643 |
100,246 |
0,373 |
99,873 |
100,016 |
0,016 |
0,000 |
0,603 |
13 |
99,873 |
100,246 |
0,230 |
100,016 |
100,104 |
0,000 |
0,011 |
0,373 |
14 |
99,873 |
100,104 |
0,142 |
99,961 |
100,016 |
0,002 |
0,000 |
0,230 |
15 |
99,961 |
100,104 |
0,088 |
100,016 |
100,049 |
0,000 |
0,002 |
0,142 |
16 |
99,961 |
100,049 |
0,054 |
99,995 |
100,016 |
0,000 |
0,000 |
L<l |