Многокритериальная постановка задачи выбора проектов целевых программ

УДК 519.1

многокритериальная постановка задачи выбора проектов целевых программ

UDC 519.1

multicriteria problem definition of a selection of projects targeted programs

Кунижева Лариса Адамовна

Северо-Кавказская государственная гуманитарно-технологическая академия, Черкесск, Россия

Kunizheva Larisa Adamovna

North Caucasian State Technological Academy of the Humanities, Cherkessk, Russia

Кочкаров Расул Ахматович к.ф.-м.н., доцент

Заместитель директора по информационным технологиям, Финансовый университет при правительстве РФ, Москва, Россия

В статье рассмотрена экономико-математическая модель выбора проектов целевых программ на примере Российской Федерации. Определены критерии оптимальности их распределения. Предложен параллельный алгоритм с гарантированными оценками выделения 2/ дольного графа

Ключевые слова: ЦЕЛЕВЫЕ ПРОГРАММЫ, ЗАТРАВКА, ФРАКТАЛЬНЫЙ И ВЗВЕШЕННЫЙ ГРАФЫ, ПАРАЛЛЕЛЬНЫЙ АЛГОРИТМ

Kochkarov Rasul Ahmatovich Dr.Sci.Phys.-Math., associate professor

Deputy director for information technologies, Financial university at the government of the RF, Moscow, Russia

In the article, we have considered the economic-mathematical model of selection of projects targeted programs on the example of the Russian Federation. The article also defines criteria of their distribution. We have proposed the parallel algorithm with the guaranteed estimates of the allocation of 2l graph

Keywords: TARGET PROGRAMS, PRIMER, FRACTAL AND WEIGHED GRAPH, PARALLEL ALGORITHM

В настоящее время Российская Федерация входит в состав ВТО, в связи с чем, для устойчивого развития, для надежности, для стойкости [1, 2] появляется необходимость поддержания регионов страны в разных направлениях экономики (промышленность, сельское хозяйство, торговля и т.д.). Государство выделяет деньги под так называемые целевые программы [3]. Каждая государственная целевая программа содержит в своем тексте перечень целевых показателей и индикаторов. Целевые показатели и индикаторы позволяют контролировать ход реализации или текущую результативность программы на этапах, а после завершения реализации - оценивать результативность, успешность выполнения программы [4].

Набор целевых показателей и индикаторов, или по - другому, система целевых показателей и индикаторов, описывает состояние программы в ходе ее исполнения, но никак не влияет на исполнение.

Чтобы влиять на исполнение целевой программы на стадии распределения и выбора проектов, необходимо построение экономико - математической модели (ЭММ). ЭММ позволяет формализовать некоторые целевые показатели, которые потом можно оптимизировать. Для построения ЭММ распределения проектов целевых программ опишем структуру распределения средств на целевые программы на примере РФ.

Средства на целевые программы распределяются первоначально по Федеральным Округам, на следующем этапе Федеральный Округ распределяет эти средства по субъектам Округа, далее по городам и районам субъекта. Вследствие этого возникает вопрос, как оптимально распределить эти средства, как оценить результативность исполнения проекта целевой программы.

Аналогичная постановка задачи распределения средств возникает в Евросоюзе, где средства распределяются по государствам - членам Евросоюза, а далее по регионам этих государств.

Подобная задача появляется при реализации крупного научного проекта. Любой крупный научно-исследовательский проект делится на части, и предлагается для реализации научно-исследовательским институтам (НИИ) и научно-производственным объединениям (НПО). Часто, эти учреждения не в состоянии справится с поставленными задачами в одиночку, и поэтому выбирают среди всевозможных учреждений аналогичного профиля наиболее полезные с точки зрения сотрудничества. Каждое из учреждений высшего уровня делит свою часть проекта и распределяет по ведомственным или проектным институтам, т.е. учреждениям более низкого по масштабам выполняемой работе уровня. Всем этим учреждениям приходится искать удовлетворяющие поставленным требованиям учреждения для сотрудничества уже из своего уровня,

Возвращаясь к задаче оптимального распределения средств на проекты целевых программ, необходимо определить критерии оптимальности их распределения: выделяемые средства необходимо распределить так, чтобы минимизировать суммарное время их освоения, максимизировать объем освоенных средств, уменьшить дополнительные расходы, связанные с созданием рабочих мест.

Чтобы ответить на поставленный вопрос построим математическую модель распределения средств. Для построения математической модели определим инструментарий. Введем необходимые определения и понятия.

Термином затравка [5] условимся называть какой-либо связный граф н = (Ж,0. Для определения фрактального (предфракталъного) графа [5] нам потребуется операция замены вершины затравкой (ЗВЗ). Суть операции ЗВЗ заключается в следующем. В данном графе о = (V,е) у намеченной для замещения вершины V е V выделяется множество V = } с V , у = 1, V , смежных ей вершин. Далее из графа о удаляется вершина V и все инцидентные ей ребра. Затем каждая вершина ~ е V , у = 1, V соединяется ребром с одной из вершин затравки н = (Ж, 0.

Вершины соединяются произвольно (случайным образом) или по определенному правилу, при необходимости.

Предфрактальный граф будем обозначать через оь = V, еь ), где VL -множество вершин графа, а е! - множество его ребер. Определим его рекуррентно, поэтапно, заменяя каждый раз в построенном на предыдущем этапе I = 1,! -1 графе о1 = (V, е1) каждую его вершину затравкой н = (Ж, 0. На этапе I = 1 предфрактальному графу соответствует затравка о1 = н . Об описанном процессе говорят, что предфрактальный граф о! = V,е! ) порожден затравкой н = (Ж,0 . Процесс порождения предфрактального графа о! , по существу, есть процесс построения последовательности

предфрактальных графов о1,G2,...,о1,...,оЬ , называемой траекторией. Фрактальный граф о = (V, Е) , порожденный затравкой н = (ж, 0 , определяется бесконечной траекторией.

Предфрактальный граф оЬ = V, Еь) условимся называть (п, д,Ь) -графом, если он порожден п -вершинной д -реберной связной затравкой н = (ж, 0, и (п,Ь) -графом, если затравка н = (ж, 0 - регулярный граф. Для предфрактального графа оЬ, ребра, появившиеся на / -ом, / = 1, ь , этапе порождения, будем называть ребрами ранга / . Новыми ребрами предфрактального графа оЬ назовем ребра ранга ь , а все остальные ребра назовем - старыми.

Потенциальных исполнителей освоения средств будем называть объектами (на первом этапе - это Федеральные Округа, на следующем -субъекты Округа, далее города и районы субъекта). Каждому

исследуемому объекту ставим в соответствие вершину уг , г = 1, п графа н = (ж, 0 . Тогда на первом шаге распределения средств Федеральным Округам (или государствам Евросоюза, или научно - исследовательским институтам) поставим в соответствие вершины у^ , г = 1, п , уг е н = (ж, 0. Вершины уг и у] будут соединены ребром вг] , если между объектами,

соответствующими этим вершинам могут существовать взаимоотношения (под взаимоотношениями будем понимать ситуацию, когда исследуемый объект может подключать для выполнения программы другой объект по договору). Если такое взаимоотношение существует, и если уг исполнитель подключает у] исполнителя, то будем говорить, что между уг и у]

существует ресурс а*, г = 1,п, у = 1,п. Под ресурсом будем понимать скорость

освоения выделенных средств, объемы предварительных договоров на поставку техники для исполнения тех или иных работ. Ребрам е\] соответствуют ресурсы а* из промежутка [а, ь], которые определяются из

практических соображений. Вершинам V,1 е V1 графа о1 = (ух, Е1) приписываем веса ъ), t = \,...п, ь) е [а,ъ] (собственный ресурс исполнителя).

Таким образом, на первом шаге распределения средств получаем вершинно - реберно - взвешенный граф о1 . На втором шаге каждый объект, в свою очередь, является распределителем средств по субъектам Федерального Округа (аналогично распределителем средств будет государство Евросоюза или научно- исследовательский институт). То есть вместо каждой вершины V!еV1 на последующем шаге графа о1 =(у1,е1 ) будем рассматривать граф 02 = (v2, Е2 )= н = (Ж, 0, 1 = 1, п, определенный с той лишь разницей, что ресурсы а\} будут взяты из промежутка [ва,въ] 0 < в < 1, а в вершины v2 е v2 графа 02 входят ребра е\] предыдущего ранга. Как и на предыдущем шаге, вершине v2 еV2 приписываем вес ъ? е[ва,въ] 0<в< 1 причем ^ъ2 = ъ1 . Таким образом, получаем взвешенный граф 02 . Инцидентность ребер первого ранга к вершинам 02 определяется из практических соображений. На I - том шаге I = 1,! ( ! определяем из практических соображений), проводя аналогичные рассуждения, получаем взвешенный граф 01, с той лишь разницей, что ребра е1у взвешиваются из

интервала в1 -1а,в1 -1ъ 0< в < 1 , а вершинам V е V/, / = 1,п, I = 1,! приписываются веса ъ1{, в точности также, как и на предыдущих шагах.

Таким образом, мы получили структуру последовательного распределения средств по объектам.

Следующим этапом формализации задачи является определение решения задачи, то есть введения переменной, с помощью которой мы будем математически записывать критерии оптимальности. Поэтому введем понятие допустимого решения. Допустимым решением х поставленной задачи является 21 - дольный граф в = Vlх,..У1хV ,Ех) на графе о1 =(у1 ,е1 ),

где

V^ uV2u...uV* u V1 u V2 u...uVl = V,

V* n V2x n...nV* n V1 nV2 n...nVi = 0 Ex с E

Множество всех допустимых решений обозначим через х . На множестве х определим критерии х), х), х):

Fi( x) = V /

Z аи + Z _

У

V "yeE*

min

(общее время освоения средств, выделенных на проекты);

F2

F3

V =1

(количество главных исполнителей);

F4

(количество компонент);

F5

vi eVv Vvx ,v=ц

(степень вершин указывает на количество соисполнителей у главного исполнителя).

F6

(общее количество связей).

Решением задачи (1) - (6) является Парето-Оптимальное (ПО) [6] множество х из х.

На практике структура объекта связей исследуемой задачи, математическую модель которой мы построили, представляет собой предфрактальный граф, порожденный различными затравками.

Vi eVv ,v =1,l

V-eV; ,v =1,l

Математически, в таком виде задача сильно усложняется, поэтому мы рассмотрим более упрощенный вариант этой задачи. В дальнейшем, оговаривая каждый раз, мы будем рассматривать предфрактальный граф, порожденный одной, двумя или несколькими затравками.

Пусть дан предфрактальный граф 0L =V, EL), порожденный одной затравкой, для которого будем искать решение поставленной задачи. Различие исследуемой задачи и модели, которую мы предлагаем, заключается в том, что на каждом шаге мы берем некоторую усложненную затравку порождения, хотя на практике на каждом шаге могут быть различные затравки порождения.

Под решением х поставленной задачи будем понимать выделение на предфрактальном графе оL =VI, EL) суграфа ох =(vL, ехь ) , где каждая компонента связности графа 0х является 2/ - дольным графом, / = 1,L. Для решения поставленной задачи в данной работе предлагается параллельный алгоритм а1 с гарантированными оценками.

Параллельный алгоритм а1 выделения 2/ - дольного графа

Рассмотрим взвешенный предфрактальный граф 0Ь = VI, EL) ,

порожденный затравкой н = (Ж,2) и к процессоров р1,р2,...,рк, где к = 1,п1^-1.

Параллельный алгоритм а1 выделения 2/ -дольного графа основан на процедуре Ь , которая выделяет двудольный граф, состоящий из двух частей.

Процедура Ь состоит из двух шагов.

На первом шаге выделяем максимальное паросочетание максимального веса (МПМВ) используя алгоритм, предложенный Эдмондсом [7].

Второй шаг состоит в следующем.

В МПВП входят множество ребер м = {ег7|ег7 е е}. Разобьем вершины vl еVL на множества ж1,ж2,ж3 по принципу: одну вершину, инцидентную ребру еи включим во множество Ж1 , другую - во множество Ж2 , оставшиеся вершины графа 0Ь включим во множество Ж3 . Множества Ж1,Ж2 и выделенное множество ребер м задают некоторый двудольный

^ п

граф в0 =(ж1,ж2,м). Ребра е г] , инцидентные вершинам множества Ж1 и ег] , инцидентные вершинам Ж2 удаляем.

Множество вершин еЖ3, \ = 1, т, т = |ж3| объединяем с множеством Ж1 или Ж2 двудольного графа в0 по принципу:

1. Если все вершины е Ж3, \ = 1, т, т = |ж3| смежны с вершинами только множества Ж1 или только множества Ж2 , то множество вершин

еЖ3 объединяем с множеством Ж1 или множеством Ж2 соответственно. При этом инцидентные им ребра сохраняем.

2. Вершины еЖ3,1 = 1, т, т = |ж3| могут быть смежны с вершинами и множества Ж1 и множества Ж2. Тогда считаем сумму весов аг] ребер ег], инцидентных этой вершине, смежных с вершинами множества Ж1 и аналогичную сумму соответственно для множества Ж2. Выбираем ребра ег],

суммарный вес которых максимален. Включая эти ребра в двудольный граф в0 , получая тем самым новый двудольный граф в , определяем принадлежность этих вершин к долям Ж1, Ж2.

Опишем принцип работы алгоритма а1 .

Количество процессоров равно количеству всех затравок L-ого ранга, то есть к = п^1 . Тогда каждый из процессоров рл назначим одной из

затравок , л = 1, п1- 1

Каждая подграф-затравка г^0, л = 1, ^ 1 рассматривается как отдельно взятый граф. Все к процессоров р1,р2,...,рк параллельно независимо друг от

друга находят двудольный граф в1, каждый на назначенной ему затравке . Поиск двудольного графа на отдельно взятой подграф-затравке осуществляется с помощью процедуры Ь . Далее каждую подграф-затравку , ^ = 1,пь -1 стягиваем в одну вершину. Тогда мы получаем новый предфрактальный граф оь_1 = (уь _ь Еь_1). Аналогично предыдущему шагу,

каждый процессор назначаем на одну из затравок я = 1,пь-1 .

Аналогично, применяя процедуру Ь, находим двудольный граф в[-1, я = 1, п1 _2. Общий I _ тый шаг работы алгоритма представляет собой выделение двудольных графов в{ , я = 1,пь_1+1,1 = 1,ь . на затравках ,

я = .

Далее на предфрактальном графе оь = (Уь, еь ) работа алгоритма на каждом I _ том шаге заключается в объединении выделенных двудольных графов по принципу смежности вершин. Объединение двудольных графов

в[-1, я = 1, п1 _2 будем обозначать в.

Алгоритм заканчивает свою работу на ь _ м шаге, когда на последней исходной затравке выделяем двудольный граф. Тем самым, объединив все выделенные В, двудольные затравки на всех шагах работы алгоритма, получим 21 _ дольный граф.

АЛГОРИТМ а1

Вход: взвешенный предфрактальный граф оь = (Уь, еь ). Выход: 21 _ дольный граф в

ШАГ 1. Параллельно и независимо друг от друга к процессоров р1,р2,...,рк для каждой затравки ), я = 1,пь-1 находят двудольный граф в с помощью процедуры Ь . На шаге 1 получаем двудольный граф максимальной затравки.

Шаг 2. Объединяя эти двудольные графы получаем покрытие предфрактального графа GL = VI, EL) двудольными графами, которое дает в объединении 2/-дольный граф. Процедура р.

Вход: взвешенный предфрактальный граф GL = V, EL).

Выход: двудольный граф в.

Теорема 1. Алгоритм а1 выделяет 2/ - дольный граф в (/ = 1,пL-1) на предфрактальном (п,L) - графе GL = V, EL), порожденном затравкой

н = (Ж, 2), \ж\ = п, \<2\ = п, с коэффициентом подобия в < -.

ь

Доказательство. На первом шаге к процессоров находят двудольные графы, используя процедуру р .

На последнем шаге L построения предфрактального графа GL = V, EL) все вершины замещаются затравкой н = (Ж, 2), тогда каждая вершина £ - ого ранга принадлежит какой-либо подграф-затравке ) . Найдя двудольный граф DL на затравке ) , покроем все вершины, принадлежащие этой затравке.

Таким образом, на I - том шаге процессоры р1,р2,...,рк с помощью процедуры р выделили двудольные графы на всех затравках.

Дальнейшая работа алгоритма: на шаге -1 используя те же процессоры, закрепляя их затравках предпоследнего ранга, применяя процедуру р к каждой затравке -2, опять получим двудольный граф. Будем помнить, что каждая вершина этой затравки 4"1, л = 1,2,..L - 2 содержит внутри себя двудольный граф. Тогда если мы развернем эти двудольные графы, находящиеся внутри затравки 4_1, то у нас в покрытии получатся 4х - дольные графы. Продолжая этот процесс, на / - том шаге ( / = 1,L ) получаем, что, на затравках zL+1 применяя тот же принцип распределения процессоров и процедуру р , опять получаем двудольные

графы. Тогда на последнем шаге будет выделена последняя двудольная затравка и, объединяя выделенные затравки мы получим 21 - дольный граф

(к = 1,nL-1). Тем самым мы доказали, что алгоритм a1 выделяет 21 - дольный

граф. ◄

Теорема 2. Вычислительная сложность параллельного алгоритма a1 выделения 21 - дольного графа (l = 1,nL-1) D на предфрактальном (n,L) -графе GL = (VL, EL), порожденном затравкой H = (W, Q) , \w| = n , \q\ = n , где VL | = n = nL, равна O(Nn3).

Доказательство. Алгоритм a1 представляет собой, по существу многократное выполнение шага 1, т.е. поиск двудольного графа для каждой подграф-затравки, а их nL-1. Шаг 1 потребует выполнения O(n4) операций на каждой подграф-затравке - столько операций выполняет алгоритм Эдмондса.

Тогда O(nL-1n4) = O(nLn3) = O(Nn3) . Таким образом, вычислительная сложность алгоритма a1 равна O( Nn3).

Сравнив вычислительную сложность O(Nn3) параллельного алгоритма с вычислительной сложностью o(n 4) алгоритма Эдмондса, получим: O(Nn3) <O(N4) , то есть ускорение вычисления параллельного алгоритма ax относительно алгоритма Эдмондса ~ N3. ◄

Примечание 1. Вычислительная сложность параллельного алгоритма ax меньше вычислительной сложности алгоритма Эдмондса,

в N3 раз на предфрактальном (n,L) - графе GL = (VL,EL). ◄

Теорема 3. Временная сложность параллельного алгоритма a1 , где имеется к процессоров p1,p2,...,рк, к = nL-1,равна O(n4).

Доказательство. Алгоритм a1 выполняет шаг 1 параллельно, каждым из l процессоров. Для выполнения шага 1 потребуется O(n4) [7]

времени (столько времени требуют процедура Эдмондса). Но все процессоры работают параллельно, то есть они закончат свою работу: «выполнение шага 1» в худшем случае за время 0(п4). Таким образом, временная сложность алгоритма а1 равна 0(п4). ◄

Сравнив временную сложность о(п4) параллельного алгоритма а1 с вычислительной сложностью 0^4) алгоритма Эдмондса, получим: 0(п4) < 0(N4).

Примечание 2. Временная сложность параллельного алгоритма а1

меньше временной сложности алгоритма Эдмондса, в N  пь-2 раз. ◄

Теорема 4. Временная сложность параллельного алгоритма а1, где

используется г процессоров р1,р2,...,рг, 1 <г <к, к = ^ 1 равна О

Г1 Л - N  пъ

V г

Доказательство. Алгоритм а1 выполняет шаг 1 параллельно, каждым из г процессоров. Для выполнения шага 1 требуется 0(п4) времени. Но все процессоры работают параллельно, т.е. все г процессоров закончат свою работу: «выполнение шага 1» - одновременно, за время

0(п4). Шаг 1 будет выполнен ровно к раз. Тогда, получим:

г

0[^  п4 0 = 0[1 • ^-1  п4 ^ = 0[1 • ^  п3 ^ = 0[1 • N  п3

Получаем, что временная сложность алгоритма а1, в случае использования г процессоров, равна 0|1  N  п3 |. ◄

Примечание 3. Временная сложность параллельного алгоритма а1, где используется г процессоров р1,р2,...,рг, 1 < г < к, к = п1-1 меньше

временной сложности алгоритма Эдмондса, в Nь-1 раз. ◄

Теорема 5. Алгоритм а1 выделяет покрытие х1 на предфрактальном (п,L) - графе GL = V,EL) , порожденном полной

п - вершинной затравкой н = (Ж,0 , \ж\ = п , = п , оптимальное по

п1 /_1 —

критериям Е4(х),^6(х) и оцениваемое по третьему ^3(х1)< —+п , I = 1,X и

пятому х1) <

Л

+1

I, I = 1, ь.

Доказательство. Доказательство оптимальности по критерию ^4( х) следует из структуры работы алгоритма а1. Алгоритм а1 выделяет один 21 - дольный граф, то есть ^4(х) состоит из одной компоненты.

Для того, чтобы доказать оптимальность по критерию (х) покажем, что на полном графе н = (Ж, 0 максимальное число ребер выделенного двудольного графа п достигается, если доли равны (в случае, если

п делится пополам) или же доли будут равны 2 и 2 -1 (если п не делится пополам).

Для доказательства этого утверждения сформулируем и докажем предложение.

Предложение. Двудольный граф п1 = (\1,\2,Е) на графе н = (Ж,0 , |ж| = п, = п будет наибольшим по количеству ребер, если \1| = \\2| = 2

(в случае, когда п четно) и если \1| = 2-1, \\2| = 2+1 (в случае, когда п нечетно).

Доказательство. Докажем первую часть предложения. Если п - четно, обозначим \\1к| = к , тогда \\2 к| = п - к, к = 1, п и максимальное

количество ребер Ек = к(п - к) достигается при к = 2.

Если п - нечетно, то одну вершину выделяем в сторону. Тогда число

п -1

вершин четно и доли должны быть равны . Так как рассматриваем

полный граф, то эту вершину относим в одну из долей и получаем максимальное число ребер. ◄

На основании доказанного предложения на каждой затравке 4 алгоритм а1 выделяет максимальное число ребер. На основании полученного результата и работы алгоритма а1 на всех затравках на шаге 1, выделяется наибольшее количество ребер.

Аналогично рассуждая, видим, что на каждом шаге I алгоритм а1 выделяет максимальное число ребер, что доказывает оптимальность критерия х1).

Дадим оценку х1) . Согласно нашей модели, главными исполнителями является одна из долей выделенного двудольного графа. Максимальное число долей выделенного двудольного графа на затравке ^

будет равна

+1 , а количество всех затравок на последнем шаге

_ 2 J

равно п1-1, I = 1, L. Тогда общее количество исполнителей будет меньше

(

либо равно

+1

/

Л I _1 (п Л I-1 п1 I-1 п1 1 <1 — +11 п1 1 = — + п

2 0 2

Для оценки критерия ^5(х) последовательно оценим результат критерия (х) по шагам работы алгоритма.

На первом шаге работы алгоритма а1 , максимальная степень

выделенного двудольного графа на затравке ^ будет равна

+

1 . На

каждом алгоритм не запрещает увеличение степени вершины на

+1.

Аналогично рассуждая, на I - м шаге максимальная степень вершины

л

(

может достичь

+1

0

I

Литература

1. Залиханов М.Ч. Устойчивое развитие России: перспективы и угрозы // Безопасность Евразии.2001.№2. С.518-525.

2. Кочкаров А.А., Малинецкий Г.Г. Управление безопасностью и стойкостью сложных систем в условиях внешних воздействий // Проблемы управления. 2005.№5.С.70-76.

3. Кочкаров Р.А. Целевые программы: инструментальная поддержка. М.: ЗАО «Издательство «Экономика» », 2007. 223с.

4. Поспелов Г.С. Ириков В.А. Программно-целевое планирование и управление -М.: Сов. Радио. 1976. 440с.

5. Кочкаров А.М. Распознавание фрактальных графов. Алгоритмический подход. Нижний Архыз: РАН САО, 1998

6 . Емеличев В. А., Перепелица В. А. Сложность дискретных многокритериальных задач // Дискретная математика. - 1994. Т. 6, вып. 1. С .3 - 33.

7. Кристофидес Н. Теория графов. Алгоритмический подход. - М.: Мир, 1978.

References

1. Zalikhanov M.C. Sustainable development of Russia: prospects and threats / / Security Evrazii.2001. № 2. S.518-525.

2. Kochkarov A.A., Malinetskii G.G. Managing security and resilience of complex systems with external influences / / Control. 2005. № 5.S.70-76.

3. Kochkarov R.A. Targeted programs: instrumental support. Moscow: ZAO "Publisher" Economy "," 2007. 223s.

4. Pospelov G.S., Irikov V.A. Software-oriented planning and management - Sov. Radio. 1976. 440C.

5. Kochkarov A.M. Recognition of fractal graphs. Algorithmic approach. Nizh. Arkhyz: SAO RAS, 1998

6. Emelichev V.A., Perepelitsa V.A. Complexity of discrete multicriteria problems / / Appl. Math - 1994. T. 6, no. 1.

pp .3 - 33.

7. N. Christofides, Graph Theory. Algorithmic approach. - Academic Press, 1978.