УДК 004.855.3
РАСПРЕДЕЛЕНИЯ РЕСУРСОВ ТИПА МОЩНОСТИ С УЧЕТОМ ВРЕМЕНИ ИХ ПЕРЕМЕЩЕНИЯ
В.И. Алферов
В статье рассматриваются механизмы распределения ресурсов типа мощности в классификационной модели, то есть в системе, состоящей из некоторого числа классов
Ключевые слова: взаимосвязь, модель, ресурсы, топология
Рассмотрим механизмы распределения ресурсов типа мощности в классификационной модели, то есть в системе, состоящей из некоторого числа классов.
Совершенно очевидно, что последовательность производства работ одного ресурса внутри класса может быть произвольной, причем схема движения ресурса имеет радиальный вид и может быть представлена в виде, приведенном на рис. 1.
Рис.1.
Рассмотрим случай распределения m > 1 одного вида ресурса. Примем, что каждый класс выполняет только одна единица ресурса (бригада). Пусть задана матрица ||цц|| стоимостей перехода с одной работы i на другую j. Без ограничения общности можно принять, что n = 2m, то есть, имеем количество гамильтоновых контуров равных числу бригад. Пусть операции i и j выполняются одной бригадой. Если операция i делается первой, то затраты на выполнения двух операций составит
sji Hüj + Hji +
Обозначим через Cij следующую величину Cij = min (sij; Sji).
Рассмотрим симметрический граф с длинами ребер Cij. Задача свелась к выделению в этом графе m ребер (по числу бригад), никакие два из
Алферов Виктор Иванович - ВГАСУ, докторант, тел. (473) 276-40-07
которых не имеют общих вершин. Такое множество ребер называется паросочетанием графа. Таким образом, необходимо найти паросочетание О, для которого величина
П = тах С
і, ]Єв
минимальна. В основе метода решения задачи лежит алгоритм определения паросочетанием в графе [1,2]. Опишем этот алгоритм.
Предварительно получим необходимые и достаточные условия оптимальности. Обозначим qij
- вес ребра (і, j). Будем рассматривать полный граф с четным числом вершин. Поставим задачу определения паросочетания с максимальным суммарным весом ребер.
Пусть О - произвольное паросочетание. Введем понятие чередующегося цикла и его длины.
Чередующимся циклом называется цикл, в котором из любых двух смешенных ребер одно принадлежит ему [2].
Длиной чередующегося цикла М называется разность суммы весов ребер паросочетания и суммы весов ребер, не принадлежащих паросочета-нию, то есть
ь(м) = ^ Ъ] - Е .
(і, ]-)єм-е (і.])ємпе
Теорема. Для того чтобы паросочетание О
- было оптимальным, необходимо и достаточно, чтобы любого чередующегося цикла была неположительной.
Необходимость. Пусть О - оптимальное сочетание и пусть нашелся чередующийся цикл М, такой что, Ь(М) > 0. Но в этом случае ребра М - О и ребра О - М образуют паросочетания с большим весом.
Достаточность. Пусть О - паросочетание такое, что любой чередующейся цепи имеет неположительную длину. Пусть О0 - оптимальное паросочетание. Заметим, что если О Ф О0, то ребра О -
О0 и О0 - О образуют чередующийся цикл ребра
О - О0, то мы получим паросочетание О0.При этом вес паросочетания О0 будет не больше чем О, поскольку чередующийся цикл имеет неположительную длину. Поэтому О - оптимальное паросочетание. На основе доказанной теоремы можно предложить алгоритм определения оптимального паросочетания, в основе которого лежит процедура по-
иска чередующихся циклов с положительной длиной.
Описание алгоритма проведем на примере.
Пример l. На рис. 2 приведен граф из 6 вершин. Веса ребер указаны в скобках.
Предварительный шаг. Получение начального решения. Начальное решение можно получить, применяя любое эвристическое правило, приведем одно из них [4]. Выбираем ребро с максимальным весом. Удаляем все смежные с ним ребра, снова выбираем ребро с максимальным весом и т. д. Пока не получим паросочетание. В нашем примере выбираем ребро (1, 1) с весом 17, затем ребро (З, б) с весом 11 и, наконец, ребро (4, б) с весом
1.(Эти ребра выделены на рис. двойными линиями). Получаем паросочетание Q0 = {(1, 1); (З, б); (4, S)} с весом L(Q0) = ЗО.
2 этап. Улучшение начального решения.
l шаг.
Выбираем любые два ребра паросочетания и рассматриваем подграф из четырех вершин. Возьмем, например, ребра (1, 1) и (З, б) и соответствующий подграф из четырех вершин (1, 1, З, б)
рис. 3.
Рис.3.
Наша задача определить в этом подграфе чередующийся цикл максимальной длины. Для этого перейдем к другому графу следующим образом. Выделяем вершины 1 и 2 и построим сеть, в которой вершина 1 является входом, а вершина 2 выходом сети (рис. 4)
Рис.4.
Длины дуг определим следующим образом 1і6 = fe — fe = 14 — 11 = 1 1із = fe — fe = 5 — 11 = —Т
1З1 = fe = 8, 1б1 = fe = 1б
Определим в этой сети путь максимальной сети с выходом. Задача имеет решение, так как сеть не имеет контуров. В нашем примере это путь (І, б, 1), длина которого L(1, б, 1) = 18. Если длина пути превышает вес ребра (1, 1), то начальное решение можно улучшить.
Действительно, в этом случае существует чередующийся цикл M(1, З, б, 1, 1) положительной длины
L(M1) = 18 - 17 = 1 > О
Этому циклу соответствует паросочетание Q1 = {(І, З); (1, б); (4, S)} с большим весом L(Q1) = ЗІ.
2 шаг.
Выбираем третье ребро из оставшихся ребер паросочетания. В нашем примере это ребро (4, S). Принимаем вершину 4 за вход сети, а вершину S за выход сети и строим сеть из шести вершин (рис. 5).
(-2)
Рис.5.
Определяем длины дуг:
l41 = fe — fe = 8 — 14 = — б, l41 = fe — fe = 10 — 1б = — б, 14З = q41 — fe = 11 — 14 = — 1 14б = q41 — q1б = З — 1б = — 1З l11 = fe — q1б = S — 1б = — 11, 11б = q11 - q1б = 17 — 1б = 1 l11 = q13 — fe = 8 — 14 = — б5 11З = q11 — q13 = 17 — 14 = З
І32 = q36 — q62 = 12 — 16 = — 4,
І36 = q32 — q62 = 8 — 16 = — 8 І61 = q63 — q31 = 12 — 14 = — 2>
І63 = q61 — q31 = 5 — 14 = — 9
І15 = q15 = 7> І25 = q25 = 4>
I35 = q35 = 9, І65 = q65 = 6
Определяем путь максимальной длины, соединяющий вход с выходом. Эта задача всегда имеет решение, поскольку в полученной сети отсутствуют контуры положительной длины. Действительно, если бы такой контур существовал, то в подграфе, состоящем из вершин (1, 2, 3, 6) нашлась бы чередующаяся цепь положительной длины, что невозможно. В нашем примере это путь (4, 3, 5), имеющий длину L(4, 3, 5) = 7. Так как L(4, 3, 5) > q45 = 1, то существует чередующийся цикл М2 = (4, 1, 3, 5, 4) положительной длины L(M2) = 21 - 15 = 6, следовательно, можно построить следующее па-росочетание Q2={(1, 4); (3, 5); (2, 6)}, имеющее вес P(Q2)=37.
Это паросочетание является оптимальным, то есть имеет максимальный вес.
Описанный алгоритм можно определять для определения паросочетания произвольного графа. Для этого достаточно положить веса ребер равными 1, а веса отсутствующих ребер - равными
0 и решить задачу построение паросочетания с максимальным весом для полученного полного графа. Если вес оптимального паросочетания равен n/2, то исходный граф имеет паросочетание.
Лемма. Если в графе имеется висячее ребро, то есть ребро, одно из граничных вершин которого имеет единичную степень, то существует па-росочетание, с максимальным весом, содержащее это ребро.
Доказательство очевидно. Если Q - паро-сочетание с максимальным весом, не содержащее висячего ребра (i, j), где j - висячая вершина, то, удаляя ребро паросочетания с единичным весом инцидентное вершине i и добавляя ребро (i, j) также с единичным весом, мы получаем паросочета-ние, содержащее ребро (i, j) и имеющее такой же вес.
Приведенная лемма позволяет сократить размерность задачи, если имеются висячие ребра.
Рассмотрим граф из 8 вершин, приведенный на рис. 6.
Вершина 7 является висячей. Поэтому сразу включаем ребро (7, 6) в паросочетание, удаляем вершины 6, 7 и инцидентные им ребра.
Получаем граф, приведенный на рис. 7.
Применяя любое эвристическое правило, пытаемся получить паросочетание для оставшегося графа. Так, например, берем ребра (1, 2) и (3, 4) с единичными весами и ребро (5, 8) с нулевым весом. Заметим, что ребра (1, 2) и (3, 4) образуют паросо-четание с максимальным весом в подграфе, состоящем из вершин 1, 2, 3, 4. Поэтому определяем чередующуюся цепь максимальной длины из вершины 8 в вершину 5. Соответствующая сеть с длинами дуг приведена на рис. 8.
Путей максимальной длины несколько.
Один из них это путь ^ = (8, 3, 1, 5) длины
1. Этому пути соответствует чередующийся цикл (8, 4, 3, 2, 1, 5) длины 1. Соответственно получаем паросочетание включающее ребра (8, 4), (3, 2) и (1,
5) с максимальным весом 3.
1 ) (2
Рис.8.
Литература
1. Бурков В.Н., Ланда Б.Д., Ловецкий С.Е., Тейман А.И., Чернышев В.Н. Сетевые модели и задачи управления. М.: Советское радио, 1967. - 144 с.
2. Алферов, В.И. Разработка графиков движения бригад по объектам строительства. [Текст] / В.И. Алферов, С.А. Баркалов, Г. Д. Юшин // ВЕСТНИК Воронежского государственного технического университета, Том 5, № 1, 2009 - с. 30 - 35.
3. Алферов, В.И. Прикладные задачи управления строительными проектами. [Текст] / В.И. Алфе-
ров, С.А. Баркалов, В.Н. Бурков, П.Н. Курочка, Н.В. Хо-рохордина, В.Н. Шипилов В.Н. // Воронеж: «Центрально
- Черноземное книжное издательство», 2008. - 765 с.
4. Алферов, В.И. Управление проектами в дорожном строительстве. [Текст] / В.И. Алферов, С.А. Баркалов, П.Н. Курочка // Воронеж: «Научная книга», 2009 -с. 340.
Воронежский государственный архитектурно-строительный университет
DISTRIBUTIONS OF RESOURCES OF TYPE OF CAPACITY IN VIEW OF TIME OF THEIR MOVING
V.I. Alfyorov
In clause mechanisms of distribution of resources of type of capacity in classification model, that is in the system consisting of some number of classes are considered
Key words: interrelation, model, resources, topology