УДК 519.1
ЗАДАЧА О ПЕРЕРАСПРЕДЕЛЕНИИ РЕСУРСОВ НА ГРАФАХ С НЕСТАНДАРТНОЙ ДОСТИЖИМОСТЬЮ
© 2010 г. В.А. Скороходов
Южный федеральный университет, Southern Federal University,
ул. Мильчакова, 8а, г. Ростов н/Д, 344090, Milchakov St., 8a, Rostov-on-Don, 344090,
[email protected] [email protected]
Рассмотрена одна из задач логистики — задача о перераспределении ресурсов в компании, состоящей из нескольких отдельных элементов. Задача заключается в том, что для одного элемента компании существует недостаток какого-то ресурса, а для другого элемента, наоборот, — избыток. Необходимо перераспределить ресурсы таким образом, чтобы не было ни избытка, ни недостатка. При этом предполагалось, что каждый из рассмотренных элементов не имеет собственного «машинного парка», но последний является отдельным элементом компании. Введен в рассмотрение новый вид графов с нестандартной достижимостью, с помощью которого решается задача о перераспределении ресурсов. Получена оценка разделения исходной задачи о перераспределении на несколько аналогичных задач меньшей сложности.
Ключевые слова: граф, алгоритмы на графах, достижимость, нестандартная достижимость.
One of logistics problems — the problem of reallocation of sources in the company, which is consisted of few elements, is considered. There is a lack of some source for one element and, vice versa, the excess of this source exists for other element. In addition, transport park is the separate element of the company and every other element has no transport. Graphs with condition of nonstandard reachability is used for solving this problem. Also the estimate separation of the original problem of the redistribution on few similar problems of lower complexity was found.
Keywords: graph, graph algorithms, reachability, nonstandard reachability.
Иногда в средних и крупных компаниях, состоящих из нескольких отдельных подразделений, отделений и т.д., которые будем называть элементами (основным признаком элемента является его территориальная отделенность), возникает проблема перераспределения ресурсов, состоящая в том, что для одного элемента компании возникает недостаток какого-то ресурса, а для другого - его избыток, и необходимо перераспределить ресурсы таким образом, чтобы не было ни избытка, ни недостатка. Обычно решение этой задачи сводится к решению классической транспортной задачи [1], однако часто отдельные элементы компаний не имеют собственного «транспортного» парка, но последний является отдельным элементом компании. Такая структура позволяет компании работать эффективнее, но вносит существенную погрешность в решение транспортной задачи. Кроме этого, классическая транспортная задача рассматривает возможность распределения одного ресурса.
Задача о перераспределении ресурсов
Сформулируем задачу перераспределения т ресурсов в компании из п элементов следующим образом.
Пусть в некоторой компании имеется п элементов {х15Х2,...,хп}. Для каждого из т ресурсов {^1,элемент х^ компании имеет величину избытка />(л",.(>0) и недостатка ) (>0)
для всех значений / - \.п и / - \.т . Кроме этого, отдельным элементом компании является «главный склад» (элемент х0), для которого избыток каждого
ресурса неограничен, а недостаток равен нулю. Считаем, что «транспортный парк» является составной частью только для главного склада и известны длины кратчайших путей между каждой парой элементов компании. Требуется оптимальным образом (т.е. с наименьшими затратами на перевозку) перераспределить ресурсы между элементами компании так, чтобы для каждого элемента и избыток, и недостаток всех ресурсов был равен нулю.
Таким образом, ресурс берется из элементов, в которых есть его излишки, и распределяется между элементами, в которых наблюдается недостаток этого ресурса. И только в том случае, если суммарный недостаток некоторого ресурса больше, чем его суммарные излишки, ресурс берется с главного склада в количестве, равном разнице между суммарным недостатком и суммарными излишками.
Данную задачу удобно решать, используя методы теории графов, поскольку в этом случае необходимо определить пути для перераспределения заданных ресурсов, т.е. нас интересует последовательность вершин
(элементов компании), которые необходимо посетить, чтобы перераспределить ресурсы.
Таким образом, структуру дорожного сообщения элементов компании удобно представить в виде полного ориентированного графа.
Пример 1. Пусть компания состоит из 3 элементов и главного склада и использует два ресурса. На рис. 1 представлен граф, соответствующий данной структуре компании. Возле каждой вершины указаны величины избытков каждого из двух ресурсов. Если величина отрицательная, то имеется недостаток.
Таким образом, необходимо найти такие пути (заметим, что пути будут являться циклами, поскольку после прохождения некоторых вершин обязательно нужно вернуться в вершину х0) на полученном графе, чтобы их суммарная длина была минимальной из возможных и в результате перевозки ресурсов, согласно этим путям, недостатки обращались в ноль.
(-3, 2)
(2.-1) Рис. 1
Для упрощения решения задачи разделим вершину х0 на две - 5 (источник) и t (сток) так, что в вершину 5 не заходит, а из вершины t не выходит ни одна дуга.
Граф, полученный из графа на рис. 1 разделением вершины х0, показан на рис. 2.
(-3. 2)
(2.-1)
Рис. 2
Перейдем от графа с весами на вершинах к графу с весами на дугах следующим образом.
С каждой дугой и графа G свяжем величину с{и) = iLi(u),c2(u),...,cm(ujy
= <(.v,/"i) - a(y,t1),b(y,t2)- a(y,t2),...My,tm) - а(У>гт)^
где v = (р2 о /)(«) • т.е. концевая вершина дуги и.
Таким образом, теперь необходимо найти не множество допустимых циклов, а множество допустимых путей из вершины s в вершину t. Заметим, что таких путей может быть несколько в зависимости от грузоподъемности транспорта в парке и распределения длин дуг на графе.
Далее будем считать, что величина грузоподъемности не ограничена и, кроме этого, распределение длин дуг на графе таково, что оптимальное решение задачи о перераспределении ресурсов состоит только из одного пути (далее будет рассмотрен случай такого распределения длин дуг на графе, что оптимальное решение состоит из нескольких путей).
Введем условие допустимости для пути перераспределения.
С каящым начальным отрезком пути //(|1.А| у) свяжем характеристику ф'п (к) = max О) ф'^ (к) + <т7 (//(А-)) , где
cj (/.¡(к)), если[с,. (/¿(А")) > 0 и путь /и еще не проходил через вершину {рп о f о /0(А")] или [с,. (/J{k)) > 0 и путь а .(¡и(к)) = < ju уже проходил через вершину
0>2 °f°M)Q<), но при этом характеристика ф' не менялась];
0, во всех остальных случаях
Будем считать путь ц допустимым только в том случае, если характеристика является ноль-вектором
г/Л1лЧ/ Х/Л1/"
При этом =Ь(х().(/1) для всех /=1 ,т .
Таким образом, получили граф с нестандартной достижимостью [2-7]. На нем будем искать кратчайший допустимый путь, распределяющий ресурсы, проходящий хотя бы один раз по каждой вершине графа (поскольку, по предположению, сделанному выше, этот путь должен быть один).
Для решения задачи о перераспределении ресурсов на исходном графе будем использовать подход, согласно которому строится вспомогательный граф большего размера, но на котором все пути являются допустимыми. Кроме этого, каждому пути на вспомогательном графе, начинающемся в вершине 5 и заканчивающемся в вершине соответствует допустимый путь на исходном графе.
Построение вспомогательного графа О' (X' ,и', /'). Вспомогательный граф будем строить в т этапов (для каждого ресурса отдельное построение).
Рассмотрим /-й этап построения - промежуточный вспомогательный граф 01 ',и/'): каждой вер-
шине х (^ 5,0 промежуточного вспомогательного графа на графе О^ ставим в
соответствие 2"(сг; +1) вершин / ,
(А = 0,...,а, ,/у е {0,1} V/ = 1.. ...и). где а,■ = 1>(.У,дг)-
УЕЛ"
Вершинам 5 и t промежуточного вспомогательного графа на графе О^ ставим в соответствие по
одной вершине 5 и t соответственно.
Дуги перестраиваем по правилу: 1) каждой дуге и (/'¿_100 = (г.у), 1'. г ф .V. /) промежуточного вспомогательного графа на графе О^ ставим в соответствие:
а) если с,-1{и) > 0, то (2" - 2)(а-\ с^1(и) | +1) дуг
к)
таких, что
Г (Лк) ч _ [ (к) ß+G^tu))
J ' / -/,...../,У .""/./....../, Г1./....../,. .1./,.,...../, ,
где к = Jj e {0,1} = и j^v:
б) если с|_1(и)^0, то (2" - 2){a- \ c''1^) | +1)
таких, что
р (и(к) 7(к) Лк+сГ\и))
/ < (и(11,12,...,1„)*- рАЛ,..., 1п)'Лк,-,1п),
где к = c]~l{ll),...,ai ,1 j <е{0,\} V/' = 1 ,...,п и
При этом индекс V является номером вершины на исходном графе О, для которой ставится в соответствие вершина у;
2) каждой дуге и промежуточного вспомогательного графа инцидентной вершине 5, на графе
ОI' ставим в соответствие одну дугу и5. При этом
единицы в первой и второй строке стоят на позициях под номером V, который является номером вершины на исходном графе О, для которой ставится в соответствие вершина V;
3) каждой дуге и промежуточного вспомогательного графа инцидентной вершине на графе С г(' ставим в соответствие одну дугу щ. При этом
/'/("/)= (8и,1)>0
С каждой дугой и(к) , . промежуточного вспо-
могательного
графа ' свяжем величину
с' <"!/..'... /„)) = С'оо,.-4Л оо а^;} оо,. 11 оо^.
Таким образом, взяв в качестве О0' исходный граф О, в результате применения указанных правил получим граф 0т', который и будет вспомогательным графом О для нашей задачи о перераспределении ресурсов.
Справедлива следующая
Теорема. Любому пути //' (.V. I) на вспомогательном графе О' соответствует допустимый путь /) на исходном графе О, и вершина t достижима из вершины 5 на исходном графе с нестандартной достижимостью О тогда и только тогда, когда на вспомогательном графе О' вершина t достижима из вершины 5.
Доказательство данной теоремы практически полностью повторяет доказательство аналогичной теоремы в [6].
Условие разделения
Пусть дан взвешенный ориентированный граф для задачи о перераспределении т ресурсов. Возможность разделения задачи о перераспределении ресурсов показана на следующем примере.
Пример 2. На рис. 3 представлен граф для задачи о перераспределении двух ресурсов.
Рис. 3
Можно заметить, что задача разделяется на две -для каждого ресурса в отдельности. При этом оптимальным решением исходной задачи является пара путей, которые являются решениями отдельных задач: 5—>3—>1 длины 2 и 5 —»1—»2—длины 24. Общая длина путей решения равна 26.
Однако, если мы изменим веса всего одной пары дуг (соединяющих вершины 1 и 3), уменьшив их значения на две единицы, то исходная задача не может быть разделена, поскольку существует путь б* —>3 —>1 —>2 —, длина которого (25 единиц) меньше суммы длин путей 5 —»3 —»1 и 5 —>1 —>2 —>1, которая равна 26 единиц.
Определение 1. Будем говорить, что задача о перераспределении ресурсов допускает возможность разделения, если для графа исходной задачи существует несколько подграфов таких, что совокупность решений задачи о перераспределении на каждом подграфе является решением исходной задачи.
Рассмотрим всевозможные подмножества X' множества X \{5, /}, для которых выполняется следующее соотношение:
О < У У < /? <7, _ V/ -1.«.
дгеЛ'' леЛ"'
Каждое такое подмножество X' порождает разбиение множества вершин на три подмножества: X = {5, /} и Х'иХ' \ где Х" = Х\ /}).
Такое разбиение множества вершин, в свою очередь, порождает разбиение множества дуг на 5 под-
множеств: II = 1/1 и II2 и и'ЦСГ 'и 1/12 - где 11'= {и е II | /00 е Х'хХ'} - дуги внутри компоненты связности, построенной на вершинах множества А"'; II' '={иеи | /00 е X''хХ''} - А'" ;
С/12={меС/|/ООе(Х'хХ")и(Х"хХ')} - дуги, соединяющие только вершины двух множеств А'1 и А'"; Щ ={неС/|/00е({5}хХ')и(Х'х{/})} - дуги, соединяющие вершины 5 и Г с вершинами множества А"'; и2 ={неС/|/00е({5}хХ")и(Х"х{/})} - А'".
По разбиениям множеств вершин и дуг исходного графа можно построить два подграфа
ии" -
для которых может быть рассмотрена задача о перераспределении ресурсов. Осталось определить, при каких условиях решение исходной задачи на графе О может быть представлено в виде совокупности решений задач на подграфах О1 и О2 .
Пусть Ае17 - некоторое подмножество множест-
_ ХД")
ва дуг. Обозначим через р(А) = - среднюю
\м
длину дуги во множестве А; /)|Ш1= тт{/'00! -
иеЛ
минимальную длину дуги во множестве А.
Оценим сумму средних длин путей на подграфах О^ и С2: р^угр^^уАрЦ'^ р$2у2рС2увр«"^ где А и В - неизвестные, равные количеству дуг в путях перераспределения, проходящих соответственно по подмножествам и' и и''.
Оценим среднюю длину пути перераспределения на исходном графе в:
Р^УРИхУР^УарИ'УВР</"УРтп С121-
Для того чтобы задача о перераспределении ресурсов допускала возможность разделения на несколько задач меньшего размера, необходимо выполнение условия: р С?1 р 02 У Р С7 •
Подставим выражения, найденные для левой и правой части:
2р</1 > Ар</'У 2р</2 > Вр</"У
< Р</\ > .
Р С'2 > Г1Р €/" У Ргп П СЛ 2 ^ или, ЧТО то же самое, /?</, У~р€/2 3е Рплп </12^
Таким образом, получили условие для разделения задачи о перераспределении ресурсов.
Каждую из получившихся задач проверяем на разделимость и в конечном итоге получим множество графов, для которых задача о перераспределении имеет решением только один путь, нахождение которого описано в предыдущем пункте. Множество всех этих путей является решением исходной задачи.
Литература
1. Кристофидес Н. Теория графов. Алгоритмический под-
ход: пер. с англ. М., 1978. 432 с.
2. Басангова Е.О., Ерусапимский Я.М. Смешанная дости-
жимость на частично-ориентированных графах // Вы-
4.
5.
числительные системы и алгоритмы. Ростов н/Д, 1983. С. 135-140.
Басангова Е.О., Ерусапимский Я.М. Различные виды смешанной достижимости // Алгебра и дискретная математика. Элиста, 1985. С. 70-75.
Ерусапимский Я.М., Логвинов С.Ю. Некоторые задачи достижимости на графах с ограничениями // Изв. вузов. Сев.-Кавк. регион. Естеств. науки. 1996. № 2. С. 3-5.
Ерусапимский Я. М, Скороходов В. А. Графы с вентильной достижимостью. Марковские процессы и потоки в
сетях. // Изв. вузов. Сев.-Кавк. регион. Естеств. науки. 2003. № 2. С. 3-8.
6. Ерусапимский Я.М., Скороходов В.А. Общий подход к
нестандартной достижимости на ориентированных графах // Изв. вузов. Сев.-Кавк. регион. Естеств. науки. 2005. Спецвыпуск. С. 64-67.
7. Скороходов В. А. Случайные блуждания и потоки в се-
тях с магнитной достижимостью // Модели и дискретные структуры. Элиста, 2002. С. 93-100.
Поступила в редакцию
13 ноября 2008 г.