- •Программирование численных методов в экстремальных задачах
- •Предисловие
- •Практическое занятие 1. Исследование методов одномерного поиска минимума унимодальных функций
- •1.1. Требования задания
- •1.2. Контрольные вопросы
- •1.3. Содержание отчета
- •Практическое занятие 2. Исследование методов полиномиальной интерполяции для поиска минимума целевых функций
- •2.1. Требования задания
- •2.2. Контрольные вопросы
- •2.3. Содержание отчета
- •Практическое занятие 3. Исследование методов линейного поиска
- •3.1. Требования задания
- •3.2. Контрольные вопросы
- •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. Контрольные вопросы
- •9.3. Содержание отчета
- •Практическое занятие 10. Исследование алгоритмов случайного поиска
- •10.1. Требования задания
- •10.2. Контрольные вопросы
- •10.3. Содержание отчета
- •Практическое занятие 11. Исследование методов нелинейного программирования
- •11.1. Требования задания
- •11.2. Контрольные вопросы
- •11.3. Содержание отчета
- •Список литературы
- •1. Метод средней точки (метод Больцано)
- •2. Метод трехточечного поиска на равных интервалах
- •3. Метод Ньютона
- •4. Метод линейной интерполяции (метод секущих)
- •5. Метод кубической интерполяции для одномерной минимизации
- •6. Метод Фибоначчи
- •7. Метод Хука–Дживса с одномерной минимизацией
- •8. Метод Зангвилла
- •9. АлгоритмLPτ-поиска
- •10. Формулы методов переменной метрики
- •11. Минимизация целевых функций в MicrosoftExcel97
- •12. Тестовые функции
- •Содержание
- •197376, С.-Петербург, ул. Проф. Попова, 5
Министерство образования и науки РФ
Санкт-Петербургский государственный электротехнический университет «ЛЭТИ»
Г. Д. Дмитревич, М. В. Марков, Ф. А. Михеев
Программирование численных методов в экстремальных задачах
Методические указания
к практическим занятиям
Санкт-Петербург
Издательство СПбГЭТУ «ЛЭТИ»
2012
УДК 681.5.001: 621.396.6
Программирование численных методов в экстремальных задачах: Методические указания к практическим занятиям / Сост.: Г. Д. ДМИТРЕВИЧ, М. В. МАРКОВ, Ф. А. МИХЕЕВ. СПб.: Изд-во СПбГЭТУ «ЛЭТИ», 2012. 44 с.
Содержат описания практических занятий по численным методам оптимизации, которые лежат в основе многих экономических, производственных задач и задач оптимального проектирования. Предназначены для подготовки бакалавров по направлению: 230100.62 – «Информатика и вычислительная техника» по профилям: 230103.62 «Система автоматизированного проектирования», 230101.62 «Вычислительные машины, комплексы, системы и сети», № учебного плана 131, 135, дисциплины «Методы оптимизации» для подготовки дипломированных специалистов по направлению 654600 – «ИНФОРМАТИКА И ВЫЧИСЛИТЕЛЬНАЯ ТЕХНИКА» по специальностям: №230101.65 «Вычислительные машины, комплексы, системы и сети», №230102.65 «Автоматизированные системы обработки информации и управления», №230103.65 «Системы автоматизированного проектирования» ‑ на открытом факультете.
Утверждено
редакционно-издательским советом университета
в качестве методических указаний
© СПбГЭТУ «ЛЭТИ», 2012
Предисловие
Настоящие методические указания предназначены для обеспечения учебного процесса по курсу «Численных методов в экстремальных задачах», цель которого – научить разработке программ решения оптимизационных задач с применением современной технологии программирования. Изначально предполагается, что студенты владеют навыками программирования на языке C++, полученными в рамках следующих курсов: «Программирование».
Курс лекций имеет четкую практическую направленность: основное внимание уделяется прикладным и вычислительным аспектам построения алгоритмов поиска оптимальных решений. Существует обширная литература [1]–[7] по вопросам доказательства сходимости методов, условий существования и единственности решения задач оптимизации, что определило отказ от изложения в лекциях теоретических вопросов в пользу удобных для реализации вычислительных схем, доведенных до уровня практических алгоритмов.
В приложениях дополнительно представлены некоторые алгоритмы, предназначенные для построения многовариантных заданий к практическим занятиям.
Практическое занятие 1. Исследование методов одномерного поиска минимума унимодальных функций
1.1. Требования задания
Цель работы– изучение методов одномерной минимизации функций одной переменной:
М1 – метода Свенна – золотого сечения-1;
М2 – метода Свенна – золотого сечения-2;
М3 – метода Свенна – Фибоначчи-1;
М4 – метода Свенна – Фибоначчи-2;
М5 – метода Свенна – дихотомии – Ньютона;
М6 – метода Свенна – трехточечного поиска – линейной интерполяции;
М7 – метода Свенна – Больцано – золотого сечения-1;
М8 – метода Свенна – Больцано – Фибоначчи-2.
Таблица тестовых функций
№ |
Функция f(x) |
Начальная точка x1 |
Точность локализации минимума |
Значение минимума x* |
(1) |
2x2+ 3e–x |
1 |
10–3 |
0.469150 |
(2) |
–e–хln x |
0 |
10–4 |
1.763223 |
(3) |
2x2–ex |
1 |
10–3 |
0.357403 |
(4) |
x4– 14x3+ 60x2– 70x |
2 |
10–2 |
0.780884 |
(5) |
4x3– 3x4, еслиx ≥ 0 4x3+ 3x4, еслиx < 0 |
0.4 |
10–3 |
–1.000000 |
(6) |
x2+ 2x |
4 |
10–2 |
–1.000000 |
(7) |
2x2+ 16/x |
1 |
10–2 |
1.587401 |
(8) |
(10x3+ 3x2+x+ 5)2 |
2 |
10–2 |
–0.859902 |
(9) |
3x2+ (12/x3) – 5 |
0.5 |
10–2 |
1.430969 |
Варианты задания
Вариант |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
Метод |
М1 |
М2 |
М3 |
М4 |
М5 |
М6 |
М7 |
М8 |
Тестовая функция |
(1) |
(2) |
(3) |
(4) |
(5) |
(6) |
(7) |
(8) |