- •6.1. Продолжительность симплекс-алгоритма
- •6.2. Размер экземпляра задачи лп
- •6.3. Задача эквивалентной допустимости
- •6.4. Начальные сведения о методе эллипсоида
- •6.5. Описание метода эллипсоида на интуитивном уровне
- •7.1. Алгоритм Хачияна
- •7.2. Обоснование метода эллипсоида
- •8.1. Терминология теории графов
- •8.2. Задача потока минимальной стоимости
- •8.3. Метод остовного дерева
- •8.4. Условия оптимальности
- •8.5. Стержневое правило для изменения базиса
- •8.6. Поиск начального допустимого решения
- •8.7. Целочисленность оптимальных решений
- •9.1. Транспортная задача
- •9.2. Табличная форма
- •9.3. Задача назначений
- •9.4. Лп-ослабления
- •9.5. Задача о максимальном потоке
- •10.1. Теорема максимального потока – минимального разреза
- •10.2. Управление проектом
- •10.3. Задача кратчайшего пути
- •10.4. Уравнение Беллмана
- •11.1. Алгоритм Беллмана-Форда
- •11.2. Алгоритм Дейкстры
- •11.3. Преформулировка с неотрицательным
- •11.4. Задача минимального остовного дерева (мод)
- •11.5. Жадный алгоритм Прима для задачи мод
- •12.1. Задача максимального разреза
- •12.2. Задача полуопределенного программирования
- •12.3. Игра «Симметричное рандеву»
- •12.4. Методы внутренней точки для лп и поп
- •13.1. Основы метода
- •13.2. Задача о ранце
- •13.3. Метод Дакина
- •14.1. Виды алгоритмов
- •14.2. Точные методы
- •14.3. Полиномиальная формулировка зк
- •14.4. Решение с помощью метода ветвей и границ
- •14.5. Приближенный алгоритм для задачи коммивояжера
- •15.1. Эвристики задачи коммивояжера
- •15.2. Метод ближайшего соседа
- •15.3. Метод ближайшего соседа для зк
- •15.4. Имитация отжига
- •15.5. Генетические алгоритмы
9.3. Задача назначений
Задано
множество Р
(включающее в себя
m
людей), и множество Т,
(включающее в себя m
задач). Также заданы стоимости работ
.
Задача назначений заключается в выборе
переменных
,
которые минимизируют линейную форму
,
при условиях:

![]()

Эти условия означают, что каждому человеку отводится ровно одна задача, и что каждой задаче назначен свой исполнитель. Если не обращать внимание на целочисленные ограничения, задача назначений является частным случаем транспортной задачи Хичкока.
9.4. Лп-ослабления
Задача,
в которой целочисленные ограничения
заменяются на
,
известна
как ЛП-ослабление
задачи целочисленного программирования.
Если мы используем метод остовного
дерева, то наше решение будет принимать
значения 0 или 1, и, следовательно, будет
оптимальным одновременно и для
ЛП-ослабления, и для задачи назначений.
Если бы мы использовали не симплекс-метод для решения основной задачи линейного программирования (например, какой-либо алгоритм внутренней точки), то целочисленное оптимальное решение не могло бы быть гарантировано. Это особенность метода, но не задачи. Многие ЛП-ослабления имеют несколько нецелочисленных решений.
9.5. Задача о максимальном потоке
Пусть
у нас имеется сеть с одним узлом-источником
(под номером 1) и одним узлом-приемником
(с номером n),
а также верхней границей
на всех дуга. Примем для удобства:
.
Задача о максимальном потоке требует
обеспечить наибольший возможный поток
от узла 1 к узлуn.
Это можно записать так: максимизировать
при условиях

для
всех
![]()
Здесь
.
Мы можем сформулировать задачу о
максимальном потоке как задачу о потоке
минимальной стоимости, добавив
дополнительную дугу (n,
1) к сети с
и
,
а затем назначить стоимость
на дуге (n,
1) и нулевые стоимости на всех остальных
дугах (рис. 9.5).
Поскольку ненулевую стоимость имеет только одна дуга, причем величина этой стоимости – отрицательная, то оптимальное решение задачи потока минимальной стоимости в данном случае будет также решением задачи о максимальном потоке.

Рис. 9.5. Добавление дополнительной дуги к графу
Лекция 10. ЗАДАЧИ МАКСИМАЛЬНОГО ПОТОКА И КРАТЧАЙШЕГО ПУТИ
10.1. Теорема максимального потока – минимального разреза
Теперь
перейдем к решению задачи максимального
потока. При
определим
емкость
разреза
как
.
Теорема 10.1. (Максимального потока - минимального разреза).
.
Доказательство можно разбить на две части. В первой требуется доказать, что величина произвольного потока меньше или равна емкости произвольного разреза. Определим
.
и
предположим, что
Затем

Теперь
мы готовы перейти ко второй части
доказательства. При этом будем использовать
алгоритм
Форда-Фалкерсона.
Предположим, что
– этооптимальные
потоки. Рекурсивно определим S
⊂
N
как
;Если
и
,
то
;Если
и
,
то
.
Таким
образом, S
является множеством узлов, благодаря
которым мы способны увеличивать поток.
Возможны два случая. Либо
,
в этом случае мы можем увеличить поток
вдоль пути от 1 кn,
либо
,
в этом случае имеем
разрез
с
и
.
Но для
,
,
и
.
Мы
можем взять нулевой расход
в качестве начального потока. Если все
емкости и начальные потоки представляют
собой целые числа, то на каждом шаге
алгоритма будем увеличивать поток по
меньшей мере на единицу. Таким образом,
алгоритм сходится за конечное число
шагов.
Мы
можем переформулировать задачу
максимального потока как задачу потока
минимальной стоимости: минимизировать
при условии:
,
для
всех
,
для
всех
,
.
Рассмотрим
функцию Лагранжа. Для обеспечения
оптимальности на дуге (n,
1) мы имеем (
):
,
так
что
.
Стоимости всех остальных дуг равны
нулю, следовательно:
.
Оптимальное решение получаем путем
выполнения следующих правил:
![]()
При
этом:
для
и
.
