УДК 519.8
модифицированный венгерский метод
М.А. Бебишев1, О.В. Корчевская2, А.С. Борисов1, Р.С. Акинфеев2, М.Н. Воронов 2
'ООО «ВПути», г. Красноярск, Россия 660041, г. Красноярск, пр. Свободный, 75; e-mail: [email protected]
2Сибирский государственный технологический университет, г. Красноярск, Россия 660082, г. Красноярск, ул. Марковского, 57; е-mail: [email protected]
Работа поддержана Красноярским краевым фондом науки (КФН Соглашение № 73 от 13.07.2012).
В статье описывается динамическое решение для задачи о назначениях на двудольном разреженном графе. Полученный алгоритм основан на алгоритме successive shortest path для решения задачи о назначениях и алгоритме двунаправленного поиска Дейкстры. Примененные модификации позволяют определять назначение максимальной стоимости при изменении графа на порядок быстрее, чем полная переоптимизация.
Ключевые слова: венгерский метод, кратчайший путь, инкрементальные алгоритмы, транспортная логистика.
This paper describes dynamic solution of the assignment problem on sparse bipartite graphs. The algorithm is based on successive shortest path algorithm for the assignment problem and bidirectional Dijkstra search. The applied modifications allow us to find maximum cost assignment in changed graph which is an order of magnitude faster then full reoptimization.
Key words: Hungarian method, shortest path, incremental algorithms, transport logistics.
ВВЕДЕНИЕ
Задачу о назначениях можно отнести к обширному классу задач принятия управленческих решений. Она предполагает нахождение распределения объектов одного из множеств по группе объектов другого множества и это распределение должно соответствовать оптимальности целевой функции.
Задача о назначениях является частным случаем общих классов оптимизационных задач. В частности, одной из актуальных задач, относящихся к этому классу, является проблема эффективного совмещения различных потоков (ресурсов). В качестве примера можно привести процессы построения периодических расписаний с совмещением, задачу оптимального закрепления элементов системы, анализ и сравнение основных потоков информации, циркулирующих в любой сети с интеграцией служб, транспортную логистику, а также ряд других. Подходы к решению этих задач достаточно разнообразны, в большинстве случаев требуют адаптации к реальной системе и в общем случае не позволяют найти оптимальное решение за приемлемое время.
Классическим методом решения задачи о назначениях за полиномиальное время является венгерский метод. Он был разработан и опубликован в 1955 г. Х. Куном (Kuhn, 1955). Модификация оригинального алгоритма позволила уменьшить временную сложность от O(n4) до O(n3) (Edmonds, 1972).
На сегодняшний день предложено достаточно много эвристических подходов к преобразованию классического венгерского метода. В данной статье представлено их краткое описание. На примере решения задачи совмещения маршрутов участников движения предложена модификация метода, учиты-
вающая ее специфику. Приведенный алгоритм также может быть использован для решения подобного класса прикладных задач на графах и сетях.
Актуальность работы также связана с развитием современного публичного web-сервиса - приложения для социальных сетей и мобильных устройств, которое позволяет найти попутчиков движения водитель-пассажир. Проект «ВПути» выполняется в рамках гранта Красноярского краевого фонда поддержки научной и научно-техничекой деятельности.
ПОСТАНОВКА ЗАДАЧИ УПРАВЛЕНИЯ
ПАССАЖИРОПОТОКАМИ
В задаче управления пассажиропотоками имеется два вида ресурса R = {и; V }, где П. (2), i = 1,...,т - заявки водителей и V.(2),] = 1,...,п - заявки пассажиров. Множество 2 включает в себя требования, которые предъявляют к системе участники движения: 2 = 2(Х; С; Т; т; D), где X - маршрут, С - количество свободных мест (для заявок водителя) / желающих вместе ехать (для заявок пассажиров), Т - время поездки, т - время ожидания, Б - оценка социальной совместимости.
Ресурсы поступают в систему извне в случайные моменты времени. При поступлении нового ресурса П. (2) (V. (2)) производится сравнение с существующими заявками из множества V. (2) (и. (2)) на совмещение с определенной степенью требований 2.
Если за определенное время ресурс не был использован, то он становится непригодным и удаляется из системы. Заявка пассажира ^ удаляется из системы, если произошло подтверждение совместной поездки пассажира и водителя. Заявка водителя Си
М.А. Бебишев и др.: Модифицированный венгерский метод
только в случае завершения времени его движения, т.к. система должна допускать множественность назначения пассажиров водителю.
Для определения критерия попутного маршрута необходимо оценить его стоимость. Стоимость может быть приравнена к длине маршрута, расчетному времени проезда, взвешенной сумме этих величин или рассчитана каким-то другим образом. В данной статье будем считать, что веса совместимости поездки определены.
Пусть А — множество найденных соответствий водитель - пассажир, каждому из которых сопоставлен вес а^ > 0. Вес отсутствующих в А пар будем считать равным 0.
Пусть ] 1, если водитель i везет пассажира j
' [0, в противном случае Требуется определить такие X~, чтобы максимизировать
FA = Z aixi
(i, j )eA
при ограничениях
Z xf < 1, Vj £ V ,
i£U
Z x}. < 1, Vi £ U ,
j£V
x, > 0, Vi £ U, j £ V .
(1)
(2)
(3)
(4)
Будем считать, что мощность U = n, а |V| = m .
Задача (1)-(4) подобна задаче о назначениях
(Kuhn, 1955) на двудольном графе G = (U ^ V, A) с несколькими отличиями. В классическом варианте задачи считается, что n=m, а ограничения (2) и (3) имеют вид равенства. Мы не накладываем ограничений на мощности множеств U и V , т.к. сервис должен работать в режиме on-line и, в общем случае, количество заявок пассажиров и водителей не совпадают. Кроме того, в классическом варианте решается задача минимизации целевой функции F, тогда как нам требуется максимизировать ее.
Прежде чем перейти к описанию предлагаемых дополнений к базовой реализации венгерского алгоритма опишем существующие решения.
существующие решения задачи
Распределительный метод.
Распределительный метод является одним из вариантов базового симплексного метода. Поэтому идея распределительного метода (как и симплексного) содержит такие же три существенных момента. Прежде всего, отыскивается какое-то решение задачи — исходный опорный план. Затем посредством специальных показателей опорный план проверяется на оптимальность. Если план оказывается не оптимальным, переходят к другому плану. При этом
второй и последующие планы должны быть лучше предыдущего. Так за несколько последовательных переходов от не оптимального плана приходят к оптимальному.
Основной алгоритм распределительного метода является не лучшим методом решения транспортных задач, так как на каждой итерации для проверки опорного плана на оптимальность приходилось строить (т*п—(т+п - 1)) циклов пересчета, что при больших размерах матрицы оказывается очень громоздким и трудоемким делом (Коробов, 2002).
Метод потенциалов.
Метод потенциалов и распределительный метод похожи между собой тем, что исходный опорный план и переход от не оптимального плана к лучшему как в одном, так и в другом методе осуществляются с помощью одинаковых приемов. Разница этих двух методов заключается в методике проверки опорного плана задачи на оптимальность. Так, в распределительном методе она производится с помощью оценок свободных клеток, вычисленных по циклам пересчета. В методе потенциалов с помощью характеристик свободных клеток, довольно легко вычисляемых посредством специальных чисел, называемых потенциалами (Палей, 2008).
Тpанспоpтная задача в сетевой постановке.
Она хорошо изучена и существуют оптимизационные методы ее решения, в частности, метод потенциалов, предложенный Л.В. Канторовичем в конце 30-х годов (Форд, 1965). При решении этой задачи особая роль принадлежит остовным деревьям, отвечающим базисным допустимым решениям, и поиску среди них оптимального.
Метод разрешающих слагаемых.
Метод разрешающих слагаемых, предложенный советским ученым А. Л. Лурье, относится к методам последовательного сокращения невязок или условно-оптимальных планов. При решении задач этим методом сначала учитываются требования целевой функции (получение минимума или максимума величины) вне зависимости от исходных (ограничивающих) условий, а затем шаг за шагом в первоначальный план вводятся ограничения, и в результате получается оптимальный план (Коробов, 2002).
Метод дифференциальных рент.
Ранее были рассмотрены распределительный метод и его модификация - метод потенциалов. Особенность этих методов заключалась в том, что сначала определялся некоторый опорный план, какое-то неотрицательное решение задачи, а затем шаг за шагом план улучшался до тех пор, пока не становился оптимальным. В методе дифференциальных рент план с самого начала соответствует критерию оптимальности, но должен проверяться на допустимость. Если план оказывается недопустимым, то постепенно, шаг за шагом план доводится до допустимого. Как только это достигается, решение считается законченным и полученный
план оказывается оптимальным. Способ решения транспортной задачи с помощью метода основан на том же принципе, что и метод разрешающих слагаемых, но схема расчета в этом методе имеет некоторые особенности. Главная из них заключается в том, что каждый раз после внесения изменения в таблицу коэффициентов, новый вариант плана составляется как бы заново, а не путем внесения коррективов в предыдущий вариант, как это имело место в методе разрешающих слагаемых (Боборыкин, 1986).
Венгерский метод.
Идея метода была высказана венгерским математиком Эгервари и состоит в следующем. Строится начальный план, не удовлетворяющий в общем случае всем условиям задачи (формализация проблемы в виде транспортной таблицы по аналогии с решением транспортной задачи). Далее осуществляется переход к новому плану, более близкому к оптимальному. Последовательное применение этого приема за конечное число итераций (повторений) приводит к решению задачи.
Достоинством венгерского метода является возможность оценивать близость результата каждой из итераций к оптимальному плану перевозок. Это позволяет контролировать процесс вычислений и прекратить его при достижении определенных точностных показателей. Данное свойство существенно для задач большой размерности (Палей, 2008).
Обычно реализации венгерского алгоритма (Edmonds, 1972, Таха, 2001) решают задачу о назначениях на полном двудольном графе с долями равной мощности (или на квадратной матрице). В таких условиях можно гарантировать, что существует полное оптимальное назначение. Однако асимптотическая сложность такого алгоритма на полной квадратной матрице размера n — O(n3).
В настоящее время модификации венгерского алгоритма направлены в сторону уменьшения асимптотической сложности, а также учета специфики предметной области.
В работе (Toroslu, 2007) представлен подход к решению задач о назначениях, в которых динамически происходит добавление новых заявок. В (Ayorkor Korsah и др., 2007) также допускается изменение весовых коэффициентов, что характерно для транспортных и других задач. Однако авторы используют полный двудольный граф с долями равной мощности.
С теоретической точки зрения эти ограничения не существенны, так как любую матрицу можно дополнить до квадратной фиктивными строками или столбцами и присвоить добавленным элементам некоторые заведомо неэффективные значения, которые не повлияют на назначения реальных строк и столбцов. Практически, алгоритм нужно реализовать таким образом, чтобы он не требовал хранения лишних элементов матрицы, поэтому требует некой модификации.
Для того чтобы при добавлении новой строки или столбца не приходилось переоптимизировать всю матрицу алгоритм должен быть инкрементальным. То есть добавление строки или столбца должно происходить за время 0(п2).
В (Кузнецов, 2007) описано решение задачи, которое инкрементально по строкам, но не по столбцам. Также оно позволяет работать с матрицами, у которых количество строк меньше количества столбцов. Добавление строки выполняется за 0(п*т) операций, где п- количество строк в оптимизированной части, а т — количество столбцов. Это решение взято за основу.
Таким образом, для решения задачи управления пассажиропотоками, а так же схожих с ними необходимо внести ряд усовершенствований в венгерский метод.
3. модифицированный венгерский
МЕТОД
Постановка задачи. Требуется привести алгоритмы для решения задачи (1)-(4) в динамике. То есть определить способ для приведения решения х к оптимальному состоянию при добавлении одной вершины или удалении одной вершины без проведения повторного решения всей задачи.
Заметим, что решением задачи (1)-(4) даже на графе с долями равной мощности не всегда является полное паросочетание, более того, полное паросочетание не всегда существует в разреженных графах. На рисунке 1 (а) приведен пример матрицы А, в которой существует полное паросочетание со значением целевой функции ^=3 и более оптимальное решение с ^=4.
1 (2) 0 0 1 (2) 0 0 1
(a)
Рисунок 1
1 (о) 2
2 1 (0) ® 2 1
(b)
Обычно приведение задачи максимизации к задаче минимизации выполняется с помощью определения некоторого большого числа, и вычитании из него всех элементов матрицы. При подобном подходе матрица А из примера преобразуется в матрицу В, представленную на рисунке 1 (Ь). Далее используется преобразование Ь.=2Р—а.,Р > а~. При решении задачи минимизации с такой матрицей классическим венгерским алгоритмом мы получим решение, которое включает ребро, отсутствующее в исходном графе. Дополнение исходного графа всеми ребрами с нулевым весом потребует слишком большого расхода памяти, так как в практических задачах граф со-
М.А. Бебишев н ар: МодифоцлровапеИ венгерсмйметод
ответствий водителей и пассажиров разрежен белее ■^емна^!^11/«.
Гриведср задачу (1)-(4) о ввду, щэитодоому длд решенаидиассическим втнгерсквм глгоритмом.
Примерисходрдгогрдфа завачи рредтоатлен на рисунке 2(а).
О-
2Р о=
Л в) 2Р«> г 2Р
(Ю (Г
Рисунок 2
М)
Дополнимкаждую вершину гр;^с|за ее двдйником, принадлежащим яротивополотнюя дуле. Вершину и ее двойника соедииии ребром с весом 2Р )рнсунок 2 (Ь)). Затем соединим ка+вдогт двойникн с =эугим двойников таннм жа обрчеом, каким со единены породившие их вершины Врвсуннж 2 (о)). Пултдеыныс граЧ ымебр дтарижд емежниатк, пивдыталлонную на Кисччкс Т (с1). Натвсти ее С 13 оанидиы от митрии .Л и В, матриц: С всегда квлдлнтрая и нодтаняетая ори транспонировании.
зада^ с метрирд0 .рефется ддределидь тадне
уг] е фД-,/' = 1..Лл! + /у),7 = 1..(о) + да), , Лтобы
минимвзщюватн
-С = ЕУ]
¿=1 ]=1
при ограничевиях
(I)
Т>у- = 1,У/ = У..(ви)бЧ3
2=1
п+т
(61 (7)
2>&■ = 1^/ = 1..(и + ™ )
1=1
у^ > 0,/' = 1..(и + да),у = Ь(и + т), (8)
Очевидно, что, независимо от значения матрицы А, задача с матрицей С имеет полное паросечетание по главной диагонали,то есть в!рхнейоценкой минимального зноченно Рс является Д, = О/у + т) . Лемма 1. Если у.о решение зздечв (5)-(8), то
У
п+т п+т п+т /—1
соОу ~ суУи.
/=1 у'=/+1 /=1 у=1
Доказат нл ъст во.
От противного. Предположим для определен-
п+т п + т п + т г -1
ИИ X снУ < X 5ЙИсУ
еозти, что
г=1 у'=/+1 и=1 у
Д л у . Для обратного
случая рассуживая аналогичны. Построим набор
, , = \Уе> еелуыШ
У а' У и
Все=.=0 аышл главной диагонали принадлежат
облчитт В, л нтжн - оВт, Л1У Кае ОСТТИЬНЫе
с. =чи а знусеуне Рс кокедно. Следтватевлво, все
О0 =1 ила оиторыа н > г имвют (< и, Н И (Г. Нднал Ю • 1
абл>4яом, для сяноо I О и набор о сово1 адает су..,
К В V
адлп сор)ок/>[ п плбо. М'.. оовпадаот со стоопца-
У
мн ношеносм у.. [ м ад Сеедолнтельнс, огоаниченил
. ' г
(б) лыгюлневтян дл>[ набиса ДО . Набир Од ^еав^т -метртчен окнвсотоллно ю^гг^в^ее:^ диагонали, елодовпс нтнчно, оынолонгтон в <0Iч];)ен:юllгe;^Iг<з (б(.
1 + Ш И + ич-^
В овлу 1М]чвд1юло}^г^:^^ ^ ^^^^^^ ^ ^^иУе /=1 в=/+1 /=[1 у=1
^ « + /«« + т ^ п+т п+т
п+т п+т [-1
^Г) => ^^[^Са^^^ ^ X 1;еЛ о2Р]0Гю + ТгЦсуУ!.
Д1 в =1 я^нв! [ = 1 ¡=1 ]о1
я'=Н в! Н=1
» ■ т п + т к + т к^т /-1
<= У^ С -г .ТР.в ^ ]= т
ч=- а=/+1
,=1 а=1
бЮа^о^ р^.^. до):ет' еигЕнсоече з^ач^ш^е целого!0 ^^ог Мче ^оянгу^и^р прхэ'пево^е::-
У
^-вч^ оланеоотенндо. 0и)£;дйнли51се]н^(^ 1зерно. □
Виниолосвдзо а^^шодиа андад (Т^(Н)одр^-аеляетса ^еммоо^ ^ и ^^^м^рИ Л.
юс?дс11е^о1 Т. опртдоленнабо]),яв.о[1доп^и11-^я Вешоаием Ц»), итг^^ бабор
.г. =у. = ..иг, /=).ооя
^^1ареео -(4).
Денозателоства. В си^ лга]^]И1^11
(9)
онт и+лг
п+т н+т
рс = У у2У У42 ху^^,,.
"=1 ] =н
/ у1 у=/+1
Е!с^ — 1 в ыше глав ной диагонали щшнадлежат
обЛс1СгГИ В.
п т п+т
Рс = ^^ уу^с,. л.„уи+„ + 2,ру >в. =
^^=1 .=1
^^ УУ Ж'3 ^
>=1 с=/+1
-^л^ьено
>=1 С=1
ас ХС-
Всилуогр аниченМ (6-7):
и+то и+п п+т
2 У У>'.,; + У>= =И + 'И с
Л=С С :=С
Таким образом Ес = 2+ т) — 2ЕЛ . Различные варианты решений у., дают все возможные варианты решений X , то есть минимум FC достигается примаксимуме FA.□
Лемма 3. Пусть определен набор X , являющийся
У
решением задачи(1)-(4),тогда набор
\Hyj3 з Ееел^у 1 < j
tJ_„, я сли i<n,j>n ]1_n,ecjrni>n,j<n
т
у*Ч1 _1LX* >яслш' =
k=1
n
- _ ^x=nXcmi = j,j<n
к=1
0, в остальных случаях
яляяется решпхием задачи (5)-(8). Доказ ательство. Как былн показано в
(10)
лемме
VjiA , /, j = 1. л + т. FC = 2РЯп + т)~ 2FA
Покажем, что набор, построенный по формулам (10) даетточнотакоеже значение.
I iT III III III Г IT III III III tl rl I III
FC y, = £ Xc, y„ + 1Р£ Л + 2P I
1=1 j=\ 1 = 1 j=i+1 n+m i-1 n m
+X I] ^ =XX + 2 P\n-X Iя* i+
<■=1 j=1 (
+ 2P
'=1 j=1
\
i=1 j=n+1
n m
/=1 3=1
m-ЮЯяи +DXcшяя =
j=1 3=1
j=1 1=1
=2
я m n m
2PXXx!/-XXX Ям
i =1 j =1 i =1 j =1
-28
2 IK
'■=1 ja
+ 2P(n + m)-= 2P(n + m)-2FA =Fe
Легко проверить, что решение (10) удовлетворяет ограничениям(6)-(8).
Перейдем теперь к описанию инкрементального шага.
Допустим, что мы имеем задачу (5)-(8) с матрицей С иеерешение у .
Требуется добавить к матрице С столбец и строку с номером п+т+1. Столбец соответствует новой реальной вершине в графе, а строка - ее двойнику. Рассуждения дляобратного случая аналогичны.
Для получения решения новой задачи с расширенной матрицей достаточно построить чередующуюся цепочку минимальной стоимости из вершины соответствующей столбцу п+т+1 в строку п+т+1. Тривиальным решением является цепочка, состоящая из одного ребра (n+m+1, n+m+1) с весом 2Р. Для построения пути минимальной стоимости можно использовать любой алгоритм, в том числе и двунаправленный алгоритм Дейкстры (Данциг, 1966, Dijkstra, 1959).
Использование именно двунаправленного алгоритма в данном случае особенно эффективно, так как в случае графа с симметричной относительно главной диагонали матрицей смежности прямой и обратный
поиск будут происходить совершенно одинаково. Таким образом, можно выполнять только прямой поиск. Прямой поиск будет происходить по реальным вершинам графа, а обратный - по их двойникам. Для того чтобы эти пути соединились им нужно пройти одно из ребер (i, i), так как только эти ребра соединяют реальные вершины и их двойников. Поиск останавливается, как только он посещает вершину-двойника.
Теорема 1. Приведенный алгоритм корректно выполняет инкрементальный шаг для задачи (1)-(4).
Доказательство.
Используя лемму 3 по существующему решению задачи (1)-(4) можно построить решение задачи (5)-(8). Корректность алгоритма для решения задачи (5)-(8) следует из корректности алгоритма Successive Shortest Path (Engquist, 1982, Кузнецов, 2007) и двунаправленного алгоритма Дейкстры (1966). Получив решение задачи (5)-(8) с добавленной вершиной используя лемму 2 можно получить и новое решение задачи(1)-(4).
Рассмотримтеперь декрементальный шаг.
Пусть требуется удалить столбец и строку n+m из матрицы C. Перестановкой строк и столбцов не нарушая симметрии можно добиться, чтобы любой столбецj=n+1,..., n+m оказался на последнем месте.
Пусть k - номер назначенной столбцу n+m строки (yk n+m = 1). Если k=n+m, то удаление столбца и строки не окажет влияния на решение для оставшихся столбцов и строк. Если k < n+m, то решение будет нарушено. Для его восстановления достаточно провести инкрементальный шаг алгоритма для строки и столбца k.
ЗАКЛЮЧЕНИЕ
Приведенный алгоритм был реализован в виде хранимой процедуры для СУБД PostgreSQL на языке plperl. Вершины и ребра графа хранятся в соответствующих таблицах базыданных.
Тестирование на случайных разреженных графах показало, что среднее количество элементов чередующейся цепочки при выполнении инкрементального шага имеет порядок O(n х (1 — ст) , где n - количество вершин в расширяемой доле графа, а о - средняя разреженность графа. Среднее количество операций, необходимых для выполнения инкрементального шага имеет порядок O(n х m х (1 — с)2), где m - количество вершин в доле графа противопо-ложнойрасширяемой.
Использование такого подхода реализовано в задаче совмещения маршрутов участников движения, а также может быть применено для решения подобного классаприкладных задач.
Дальнейшее развитие предложенного метода связано с решением задачи множественного назначения пассажиров водителям. Оптимизация назначений в этом случае превращается в многомерную задачу о назначениях на гиперграфе.
М.А. Бебишев и др.: Модифицированный венгерский метод
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
Боборыкин, В.А. Математические методы решения транспортных задач (Текст) / В.А. Боборыкин. - Л.: СЗПИ, 1986. - 206 с.
Данциг, Дж. Линейное программирование его обобщения и применения (Текст) / Дж. Данциг. - М.:Прогресс, 1966. - 600с.
Кузнецов, В. К. Оптимизация на графах (алгоритмы и реализация): учебное пособие / В. К. Кузнецов, А. М. Караваев. - Петрозаводск: Изд-во ПетрГУ, 2007. - 184с.
Палей, И. А. Линейное программирование. Учебное пособие (Текст) / И. А. Палей. - М.: Эксмо, 2008. - 256с.
Коробов, П.Н. Математическое программирование и моделирование экономических процессов. Учебник. (Текст) / П.Н. Коробов. - Санкт-Петербург, 2002. - 364 с.
Таха, Хэмди А. Введение в исследование операций (Текст) / Хэмди А. Таха . М.: Вильямс, 2001. - 912 с.
Форд, Л. Р. Потоки в сетях (Текст) /Л. Р. Форд, В.Р. Фал-керсон. - М.: Мир, 1965. - 378с.
Dijkstra, E. W. A note on two problems in connexion with graphs// Numerische Mathematik, 1:269-271, 1959.
Edmonds, J., Karp, R.M. Theoretical improvements in algorithmic efficiency for network flow problems. J. of the Association for Computing Machinery, 19:248-264, 1972.
Engquist, M. A Successive Shortest Path algorithm for the Assignment Problem // INFOR, Vol. 20, 1982, pp. 370384.
G. Ayorkor Korsah, Anthony (Tony) Stentz, M Bernardine Dias The Dynamic Hungarian Algorithm for the Assignment Problem with Changing Costs tech. report CMU-RI-TR-07-27, Robotics Institute, Carnegie Mellon University, July, 2007. Режим доступа: http://www.ri.cmu.edu/publication_view. html?pub_ id=5805.
Kuhn, H.W. The Hungarian method for the assignment problem // Naval Res. Logist. Quart. 2 (1955) С. 83-97.
Toroslu I.H., Ucoluk G. Incremental assignment problem, Information Sciences, 177, 6, 2007.
Поступила в редакцию 01 ноября 2012 г. Принято к печати 07 декабря 2012 г.