lab_5 / lab5_25
.docxМИНЦИФРЫ РФ
Ордена Трудового Красного Знамени федеральное государственное бюджетное образовательное учреждение высшего образования
«Московский Технический Университет Связи и Информатики»
Кафедра информатики
ЛАБОРАТОРНАЯ РАБОТА №5
«Одномерная оптимизация»
Выполнил студент группы “Сортирный Союз”
username
Москва 2021
Индивидуальное задание
№ |
Целевая функция |
25 |
|
Нечётный номер варианта (№25): метод золотого сечения реализуется в программе на C++; метод дихотомии реализуется в сценарии Scilab.
График функции , построенный на достаточно большом отрезке ОДЗ:
По построенному графику функции выберем начальный отрезок неопределённости (отрезок, содержащий точку минимума):
Проверим выполнение аналитического условия унимодальности функции на выбранном отрезке:
Сведём значения в одну таблицу:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
На отрезке функция монотонно возрастает - следовательно, на данном отрезке функция унимодальна.
Схемы алгоритмов для дальнейших расчётов приведены в разделе 2.6 пособия по алгоритмам.
Метод золотого сечения (C++)
Количество необходимых итераций можно рассчитать по следующей формуле: . Необходимая точность достигнута при .
Результат выполнения программы:
Метод дихотомии
Значение параметра метода дихотомии выберем равным . Для проведения расчётов по методу дихотомии создадим следующий сценарий и проведём расчёты для 3-х итераций:
Для метода дихотомии длина отрезка неопределённости после трёх итераций равна , что совпадает с полученной длиной отрезка неопределённости ( .
Решение задачи оптимизации средствами пакета Scilab
Сценарий для построения графика функции:
Сценарий для решения задачи оптимизации с помощью функции optim():
Результат выполнения сценариев:
Вывод: результаты решения задачи оптимизации разными методами (метод золотого сечения, метод дихотомии, функция Scilab optim()) сошлись друг с другом в пределах допустимой погрешности.