![](/user_photo/1334_ivfwg.png)
- •Основные понятия.
- •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.
Мы завершили раздел математического программирования: