- •Открытая модель ктз.
- •Теорема о целочисленности решения ктз.
- •Задача о назначениях. (Задача выбора)
- •Транспортная задача в сетевой постановке (с промежуточными пунктами).
- •Метод отыскания путей минимальной стоимости.
- •Решение тз в сетевой постановке методом буферного запаса.
- •Задача поиска кратчайшего пути на транспортной сети.
- •Алгоритм поиска кратчайших путей.
- •Задача о замене оборудования.
- •Задача о замене оборудования.
- •Одна задача календарного планирования трудовых ресурсов.
- •Распределительная задача.
- •Задачи дискретного программирования.
- •Задача о максимальном потоке на сети.
- •Теорема Форда – Фалкерсона.
- •Алгоритм Форда нахождения максимального потока на сети.
- •Метод ветвей и границ.
- •Формальная схема метода ветвей и границ.
- •Метод динамического программирования.
- •Достоинства метода динамического программирования.
- •Недостатки метода дп.
- •Задача о загрузке рюкзака (задача о ранце).
- •Текущий вес рюкзака определяется выражением
- •Метод динамического программирования для знп с мультипликативной целевой функцией. Задача о надёжности.
- •Задачу о надежности.
Метод ветвей и границ.
Метод ВИГ (или метод направленного перебора) относится к группе комбинаторных методов решения как линейных, так и нелинейных ЗДП. Этот метод дает общий подход к решению ЗДП, содержащих конечное число допустимых планов, и за конечное число шагов позволяет найти точное решение задач конечной размерности. Разные реализации метода объединяются общей идеей перехода от полного перебора планов к целенаправленному, сокращенному перебору. Сокращение перебора осуществляется за счет массового отсечения неперспективных планов.
Пусть имеет место задача ДП в общем виде:
(1)
Здесь f(X)- скалярная функция своих аргументов, G- конечное множество.
Несмотря на большое разнообразие алгоритмов, разрабатываемых для решения прикладных задач вида (1), им всем свойственны общие основные этапы:
Вычисление нижней границы целевой функции f(X) на множестве G и его подмножествах (в случае решения задачи на максимум – вычисление верхней границы),
Разбиение множества G на дерево подмножеств,
Пересчет нижней границы f(X) на подмножествах,
Вычисление допустимых планов,
Проверка планов на оптимальность,
В случае получения приближенного решения – оценка его точности.
Рассмотрим все эти этапы.
Вычисление нижней границы (оценки) целевой функции f(X) на множестве планов G или его подмножествах Gi G сводится к определению числа
,
для которого справедливо неравенство
,
или
.Разбиение (ветвление) множества G на дерево подмножеств.
Определение. Множества
и
называются разбиением множества G
на подмножества Gi.
Суть метода ветвей и границ состоит в последовательном разбиении множества G на дерево подмножеств и в дальнейшем массовом отсеивании неперспективных в том или ином смысле подмножеств. При разработке конкретного алгоритма должен быть указан способ такого разбиения, также как указан метод вычисления нижней границы целевой функции на множестве G и его подмножествах.
Ветвление происходит по следующей схеме:
0-й шаг. Имеется исходное множество
G=G0.
Некоторым способом его разбивают на
конечное число подмножеств
.
к
-тый
(k>0) шаг.
Имеются множества
,
еще не подвергшиеся ветвлению. По
определенному правилу, указанному ниже,
среди них выбирают подмножества
и разбивают их на конечное число
подмножеств
.
Затем еще не подвергавшиеся на этом
шаге разбиению множества
и новые подмножества
,
обозначают (перенумеровывают) как
.
(Рис.1.)
Рис.1
Пересчет нижних границ целевой функции f(X) на подмножествах.
Очевидно, что если
,
то
.
Поэтому, разбивая в процессе решения
множество G0
на подмножества
,
,
значения нижних границ на этих
подмножествах будут не меньше оценок
для исходного множества G0,
т.е.
.
В конкретных ситуациях это неравенство
для некоторых i превращается
из нестрогого в строгое неравенство.
Чем быстрее рост оценок на подмножествах,
тем эффективнее разработанный алгоритм.
Вычисление допустимых планов.
Для конкретных задач могут быть указаны различные способы нахождения планов в последовательно разбиваемых подмножествах. Любой такой способ опирается на специфику задачи. При разработке конкретного алгоритма необходимо указать способ определения допустимых планов.
Проверка планов на оптимальность.
Пусть имеется разбиение
и найден некоторый план
.
Если при этом
,
то
-
оптимальный план исходной задачи (1).
Действительно, из последнего неравенства
следует, что
для
,
а так как
,
то окончательно можно записать
для
.
Оценка точности приближенного решения.
Пусть
и найден некоторый план
.
Обозначим
.
Очевидно
.
Если разность
невелика, то план
можно принять за приближенное решение,
а будет оценкой
его точности.
