- •В.А. Панов математические основы теории систем. Методы оптимизации
- •Содержание
- •1. Основные понятия и определения 6
- •2. Линейное программирование 13
- •3. Нелинейное программирование 53
- •4. Вариационное исчисление 91
- •5. Оптимальное управление 109
- •Введение
- •1. Основные понятия и определения
- •1.1. Оптимизационная задача
- •1.2. Допустимое решение
- •1.6.1. Частные критерии
- •1.6.2. Обобщенные критерии
- •Обобщенный аддитивный критерий
- •Обобщенный мультипликативный критерий
- •1.6.3. Минимаксные критерии
- •1.7. Общая характеристика методов поиска экстремума
- •Краткая характеристика методов и задач
- •2. Линейное программирование
- •2.1. Стандартный вид задачи линейного программирования (злп)
- •2.2. Способы приведения задачи линейного программирования к стандартному виду
- •2.3. Графический метод решения задач линейного программирования
- •2.4. Симплекс-метод решения задач линейного программирования
- •2.4.1. Канонический вид злп
- •2.4.2. Симплекс-таблица, соответствующая каноническому виду
- •2.4.3. Нахождение координат вершины допустимого многогранника по каноническому виду (симплекс-таблице)
- •2.4.4. Алгоритм решения злп с помощью симплекс-метода
- •Задание для самостоятельной работы
- •2.5. Приведение злп к каноническому виду
- •2.5.1. Метод искусственного базиса
- •2.6. Алгоритм двойственного симплекс-метода
- •Задания для самостоятельной работы
- •2.7. Целочисленное линейное программирование
- •2.7.1. Метод сечения Гомори
- •2.8. Транспортная задача
- •2.8.1. Постановка задачи
- •2.8.2. Математическое описание задачи
- •2.8.3. Транспортная таблица
- •2.8.4. Таблица издержек
- •2.8.5. Метод «северо-западного» угла
- •2.8.6. Алгоритм решения транспортной задачи
- •Задания для самостоятельной работы
- •3. Нелинейное программирование
- •3.1.2.2 Метод ненаправленного поиска
- •3.1.2.3. Метод дихотомии (деление отрезка пополам)
- •3.1.2.4. Метод «золотого сечения»
- •3.1.2.5. Метод Фибоначчи
- •Задание для самостоятельного решения
- •3.2. Графический метод решения задач нелинейного программирования
- •Целевая функция линейная, ограничения нелинейны
- •Ограничения линейные, целевая функция нелинейна
- •3.3. Задачи дробно-линейного программирования
- •Задания для самостоятельного решения
- •3.4. Методы поиска безусловного экстремума функции многих переменных
- •3.4.1. Аналитический метод
- •3.4.2. Итерационные методы
- •3.4.2.1. Метод покоординатного спуска
- •3.4.2.2. Метод наискорейшего спуска
- •Задания для самостоятельной работы
- •3.5. Решение задач нелинейного программирования с ограничениями-равенствами
- •Метод неопределенных множителей Лагранжа
- •Задание для самостоятельной работы
- •3.6. Задачи квадратичного программирования
- •Задания для самостоятельной работы
- •3.7. Метод условного градиента
- •5. X1, x2,xn 0. (3.25)
- •X1, x2,xn 0.
- •Задания для самостоятельной работы
- •3.8. Метод штрафных функций
- •4. Вариационное исчисление
- •4.1. Формула Эйлера-Лагранжа
- •4.2. Частные случаи формулы Эйлера
- •4.3. Обобщенная задача вариационного исчисления
- •4.4. Решение задач вариационного исчисления с ограничениями
- •4.5. Изопериметрическая задача
- •4.6. Функционалы, зависящие от производных высших порядков
- •Задание для самостоятельного решения
- •5. Оптимальное управление
- •5.1. Постановка задачи
- •5.2. Классификация задач оптимального управления
- •5.3. Принцип максимума Понтрягина
- •5.4. Задача о максимальном быстродействии
- •Задания для самостоятельного решения
- •Список литературы
- •Основы теории оптимизации в.А. Панов
Задания для самостоятельной работы
Решить задачи нелинейного программирования методом условного градиента.
Дано: ε = 0,05, xo = (0; 0).
1. f(x) = x12 + 2x22 – 16x1 – 20 x2 → min, 2. f(x) = x12+x22–18x1–20x2→min,
2x1 + 5x2 ≤ 40, x1 + x2 ≤ 15,
2x1 + x2 ≤ 16, 2x1 + 5x2 ≤ 60,
x1, x2 ≥ 0 3x1 + x2 ≤ 30,
x1, x2 ≥ 0
3. f(x) = (x1 – 16) 2 + (x2 – 9)2 → min, 4. f(x) = x12 + x22 – x1x2 – 3x2→min,
5x1 + 2x2 ≤ 60, x1 + x2 ≤ 4,
x1 + x2 ≤ 15, x1, x2 ≥ 0
x1 + 4x2 ≤ 40,
x1, x2 ≥ 0
5. f(x) = x12 + x22 – 4x1 – 8x2 → min, 6. f(x) = x12+ 2x1 – x2→min,
6x1 + 11x2 + x3 + 2x4 = 96, x1 + x2 ≤ 15,
–2x1 + 3x2 – 2x3 + x4 = 8, x1 + 3x2 + x3 = 30,
x1, x2, x3, x4 ≥ 0 5x1 + 3x2 + x4 = 60,
x1, x2, x3, x4 ≥ 0
7. f(x) = x12 + 2x22 – 6x1 – 32x2 → min, 8. f(x) = 2x12 + 3x1 + 2x2 + x3 →min,
3x1 + x2 + x3 = 30, x1 + 3x2 + 2x3 ≤ 15,
x1 + x2 + x4 = 15, 3x1 + x2 + x3 ≤ 20,
2x1 + 5x2 + x5 = 60, x1, x2, x3 ≥ 0
x1, x2, x3, x4, x5 ≥ 0
9. f(x) = x12 + x22 + x32 + x1 – 2x2 → min 10. f(x) = x12–2x1 +2x2 +x3 →min,
x1 + 2x2 + 3x3 ≤ 18, x1 + 3x2 + 2x3 ≤ 7,
2x1 + x2 + x3 ≤ 20, 3x1 + x2 + x3 ≤ 3,
x1, x2, x3 ≥ 0 x1, x2, x3 ≥ 0
3.8. Метод штрафных функций
Постановка задачи.
1. f(x1, x2,xn) min(max),
2.gi(x1, x2,xn) 0, i = 1, m (3.29)
3. = (x10, x20,xn 0) – начальная точка приближения к экстремуму,
4. – точность нахождения экстремума,
5. x1, x2,xn 0, и целевая функция, и ограничения – многочлены любой степени, т.е. данный метод является универсальным, для решения задач нелинейного программирования.
Суть метода.
Вводится искусственная целевая функция F = f(x1, x2,xn) + H(x1, x2,xn).
Н – штрафная функция, определенная следующим образом (для определенности ищется минимум целевой функции):
Н = 0 внутри области допустимых решений,
Н > 0 вне области допустимых решений.
Вследствие такого задания Н безусловный экстремум функции F совпадет с условным экстремумом функции f.
Рис. 3.7. Графическая иллюстрация метода штрафных функций.
В точках иН = 0. В точке Н 0, следовательно, значение F резко увеличится. Но поскольку функцию F требуется минимизировать, то следующая итерация возвращает текущую точку в область допустимых решений.
Выбор штрафной функции.
(3.30)
Безусловный экстремум функции F находится любым известным методом.
Пример.
Решение.
(Шаг выбран произвольным, но в данной задаче он больше нуля, так как интегральная функция H = ·g должна уменьшать ЦФ за областью допустимых решений).
Для простоты шаг в направлении градиента возьмем постоянным = 0,1.
= (6, 7) , проверим выполнение ограничения для этой точки:
g(6, 7) > 0, следовательно, = 0,
И т.д. пока не будет достигнута заданная точность (точность определяется как в задачах на безусловный экстремум).
4. Вариационное исчисление
Вариационное исчисление – это математическая дисциплина, занимающаяся поиском экстремума функционалов [5].
Функционал – выражение, зависящее от функции (например, определенный интеграл).
Пример.
Даны две точки на плоскости. Требуется соединить их такой кривой, чтобы круглое материальное тело (шар), двигаясь по этой кривой под действием силы тяжести без трения, доходило от одной точки до другой за минимальное время.
Составим математическое описание задачи:
Изменение кинетической энергии тела равно работе силы тяжести:
Ищем некоторую функцию у(х). Этой функции будет поставлено в соответствие некоторое число значение t для этой функции:
Задача – найти такую функцию у(х), при которой функционал (значение t) достигает минимума.