Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Мат. мет. исл. оп Погорелов / Лекции по мат. мет. ИО.doc
Скачиваний:
67
Добавлен:
26.03.2015
Размер:
3.62 Mб
Скачать

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 как

  1. ;

  2. Если и , то ;

  3. Если и , то .

Таким образом, S является множеством узлов, благодаря которым мы способны увеличивать поток. Возможны два случая. Либо , в этом случае мы можем увеличить поток вдоль пути от 1 кn, либо , в этом случае имеем разрез с и. Но для, , и

.

Мы можем взять нулевой расход в качестве начального потока. Если все емкости и начальные потоки представляют собой целые числа, то на каждом шаге алгоритма будем увеличивать поток по меньшей мере на единицу. Таким образом, алгоритм сходится за конечное число шагов.

Мы можем переформулировать задачу максимального потока как задачу потока минимальной стоимости: минимизировать при условии:

, для всех ,

для всех ,.

Рассмотрим функцию Лагранжа. Для обеспечения оптимальности на дуге (n, 1) мы имеем ():

,

так что . Стоимости всех остальных дуг равны нулю, следовательно:. Оптимальное решение получаем путем выполнения следующих правил:

При этом: для и .