- •Основные понятия.
- •1. Безусловная оптимизация (многомерные функции)
- •1.1 Методы первого порядка (градиентные методы)
- •1.1.1. Градиентный метод с постоянным шагом
- •1.1.2. Выпуклые функции и множества
- •Теорема
- •Определение.
- •Без доказательства
- •2.Теорема:
- •1.2. Градиентные методы (продолжение)
- •1.2.1. Градиентный метод с дроблением шага.
- •1.2.2. Метод наискорейшего спуска.
- •Без доказательства
- •1.2.3. Масштабирование
- •1.3. Метод Ньютона.
- •1.4. Многошаговые ( двухшаговые ) методы.
- •1.3.1. Метод тяжелого шарика
- •1.3.2. Метод сопряженных градиентов
- •1.3.3. Модификация Полака-Ривьера
- •1.5. Квазиньютоновские методы
- •1.6. Методы нулевого порядка (методы прямого поиска)
- •1.6.1. Методы аппроксимации
- •Метод покоординатного спуска
- •1.6.3. Метод симплексов (Нелдера-Мида)
- •1.6.4. Метод Пауэлла (сопряженных направлений)
- •1.7. Методы прямого поиска в задачах одномерной минимизации.
- •1.7.1. Метод квадратичной интерполяции.
- •1.7.2. Метод дихотомии ( половинного деления.).
- •1.7.3. Метод «золотого» сечения.
- •1.7.4. Метод Фибоначчи.
- •2. Условная минимизация.
- •2.1 Задача нелинейного программирования.
- •2.1.1. Ограничения типа равенства.
- •2.1.2. Ограничения типа неравенств.
- •2.2. Задача выпуклого программирования
- •2.3. Методы условной минимизации.
- •2.3.1. Метод проекции градиента.
- •2.3.2. Метод условного градиента.
- •2.3.3. Метод модифицированной функции Лагранжа.
- •2.3.4. Метод штрафных функций.
- •2.4. Двойственность звп
- •2.4.1. Двойственность злп
- •3. Линейное программирование
- •3.1. Основные понятия
- •3.2. Геометрическая интерпретация злп.
- •3.3. Условие оптимальности для злп.
- •3.4. Базис и базисное решение.
- •3.5. Симплекс - метод решения злп.
- •3.6 Транспортная задача
- •3.5.1. Построение первоначального опорного плана.
- •3.5.2. Построение оптимального плана. Метод потенциалов.
- •4. Решение переборных задач.
- •4.1. Метод ветвей и границ.
- •4.1.1. Задача о коммивояжере.
- •4.2. Динамическое программирование.
- •4.2.1. Абстрактная схема.
- •4.2.2. Вывод уравнения Беллмана.
- •4.2.3. Методика применения функции Беллмана для решения исходной задачи.
- •4.2.4. Примеры задач динамического программирования
- •5. Вариационное исчисление (ви)
- •5.1. Уравнение Эйлера-Лагранжа.
- •5.1.1. Частные случаи уравнения Эйлера-Лагранжа.
- •5.1.2. Задача о брахистохроне.
- •5.2. Вариационные задачи на условный экстремум.
- •5.2.1. Модельные задачи на условный экстремум.
- •6. Принцип максимума Понтрягина ( на примере задачи оптимального управления ).
- •6.1. Принцип максимума в задаче о быстродействии.
- •Список литературы
3.5.2. Построение оптимального плана. Метод потенциалов.
Лемма:
Если при подстановке компонент оптимального плана в систему ограничений исходной задачи i-е ограничение обращается в неравенство, то i-я компонента оптимального плана двойственной задачи равна 0.
Если i-я компонента оптимального плана двойственной задачи положительна, то i-е ограничение исходной задачи удовлетворяется ее оптимальным решением, как строгое равенство.
Доказательство:
базируется на дифференциальных условиях существования седловой точки задачи линейного программирования (см. п.3, 2.3.).
Для ЗЛП функция Лагранжа:
(x, ) = (c, x) + (, b Ax)
Тогда дифференциальные условия для этой функции:
= 0, i =:
= 0, j =:
Без доказательства.
Теорема:
Если план ТЗ является оптимальным, то ему соответствует система из m+n чисел и , удовлетворяющая условиям:
+ = для > 0
+ для = 0
Числа и называются потенциалами соответственно поставщиков и потребителей.
Доказательство:
Вместо решения исходной транспортной задачи (ЗЛП) решаем двойственную ЗЛП.
ЗЛП:
?
Ax = E , x 0
E =
Двойственная задача:
?
, 0
Т.к. в строке AT два ненулевых (единичных) элемента (обозначим ui=i, vj=i, то получаем +
Пусть =
=
С учетом леммы двойственную задачу надо записать в виде:
, где
+ = для > 0
+ для = 0
Теорема доказана.
Таким образом, для того, чтобы план был оптимальным необходимо выполнение следующих условий:
а) Для любой занятой клетки + =
б) Для любой незанятой +
Если хотя бы одна незанятая клетка не удовлетворяет условию + , то опорный план не является оптимальным, и его можно улучшить, введя в базис вектор, соответствующий клетке, для которой нарушается условие оптимальности (в клетку надо переместить некоторое количество единиц груза).
Алгоритм метода потенциалов:
Построение системы потенциалов:
Используем условие + = для занятых клеток. Уравнений m+n-1,
неизвестных m + n. Одну компоненту обнулим (любое или ).
Для данного примера:
пусть =0,
тогда:
(для таблицы данного примера)
Проверка выполнения условия оптимальности для незанятых клеток.
Вычисляем характеристические разности :
= +- (см. таблицу стоимостей примера)
Если в любой незанятой клетке 0, то конец.
Выбор клетки, в которую необходимо послать перевозку:
Среди > 0 надо выбрать максимальную(для примера +6) .
Построение цикла и определение величины перераспределения груза:
Отмечаем плюсом найденную клетку. Стало m+n занятых клеток, т.е. существует цикл. Идем по циклу и расставляем плюсы и минусы, чередуя их . (см. пример)
Затем находим (по минусам , расставленным ранее). Значение записываем в незанятую клетку. Идем по циклу ,
где плюс - добавляем ,
где минус - вычитаем значение из.
Пример:
|
5 |
|
- |
3 |
|
1 |
3 |
|
3 |
1 |
|
вид таблицы примера
f = 39 ( значение функции f уменьшилось )
Проверка полученного опорного плана на оптимальность и переход в случае необходимости к пункту 2.
Мы завершили раздел математического программирования: