Scientific journal
Modern high technologies
ISSN 1812-7320
"Перечень" ВАК
ИФ РИНЦ = 0,940

HYPERVECTOR RANKING IN MULTI-PROJECT SCHEDULING

Klevanskiy N.N. 1 Tkachev S.I. 1 Krasnikov А.А. 1
1 Saratov State Agrarian University named after N.I. Vavilov
This paper is demonstrate how resource-constrained multi-project scheduling problems can be solved efficiently by two schedule generation schemes. The first, in the multi-project scheduling problem, multiple projects, each having a number of activities, must be scheduled in an initial solution. The second, in the multi-project scheduling problem, the initial solution must be optimized. A set of local and global resources are available for carrying out the activities of the projects. The basic criteria for priority rules are demanded – criterion of activity/project workload and criterion of resource equability. The solutions obtained by the first schedule generation scheme with the best resource allocation rule are used as a baseline to compare those obtained by the latter. Each schedule generation scheme consists of two priority rules – heuristic solution-finding procedures based on greedy ideology. The priority rules use multi-criteria ranking of decision support theory. The algorithm introduces the concept of an adjustable resource allocation factor which can be used to produce schedules. A numerical example of hyper-vector ranking for project workload criteria in multi-project scheduling is given.
multi-project scheduling
demand
activity
resource allocation
priority rules
schedule generation scheme
multi-criteria ranking
hyper-vector ranking

Мультипроектное планирование (RCMPSP – resource-constrained multi-project scheduling problem) решает взаимосвязанные проблемы – формирование календарного графика и распределение ресурсов. В большинстве исследований установлена NP-трудность задач мультипроектного планирования и, как следствие, необходимость нахождения эвристик, понижающих порядок операций полного перебора. Основой эвристических подходов является использование схем формирования расписаний (SGS – schedule generation scheme) и правил приоритетов (PR – priority rules) [5, 10]. Приоритетами в этом контексте выступают критерии для определения очередности выполнения (включения в календарный график) конкурирующих по ресурсам работ (проектов). Критерии являются скалярными величинами разных характеристик заявок/работ и проектов, включая выделяемые и требуемые ресурсы. Под правилами приоритетов понимаются определенные последовательности приемов и методов определения очередности выполнения (включения в календарный график) конкурирующих по ресурсам работ (проектов). Правила приоритетов используют однокритериальное ранжирование скалярных величин приоритетов, что обусловлено потребностями «ручного» планирования, по крайней мере на предварительном этапе. Большое количество критериев, используемых в качестве приоритетов [5, 6, 7, 9, 10], свидетельствует о многокритериальном характере проблемы и отсутствии нужных решений. В одной из немногих работ [9] представлено более сложное ранжирование характеристик проектов с помощью метода анализа иерархий.

Целью статьи является представление подходов к использованию методов ранжирования в программном формировании календарного графика для произвольного количества проектов в системе с ограниченными ресурсами.

По способу применения приоритеты разделяются на приоритеты для планирования одного проекта (RCPSP – resource-constrained project scheduling problem) и приоритеты мультипроектного планирования [5].

К приоритетам RCPSP относятся:

– FCFS – First Come First Served – работа с минимальным номером обслуживается (включается в календарный график) первой;

– LCFS – Last Come First Served – работа с максимальным номером обслуживается первой;

– SOF – Shortest Operation First – кратчайшая операция обслуживается первой;

– MOF – Maximum (longest) Operation First – наиболее продолжительная операция обслуживается первой;

– RAN – Random – случайный выбор операции проекта;

– EDDF – Earliest Due Date First – первой обслуживается операция с самым ранним началом;

– MAXSP – Maximum Schedule Pressure – первой обслуживается операция с максимальным давлением;

– MINLFT – Minimum Late Finish time – первой обслуживается операция с минимальным временем окончания;

– MINWCS – Minimum Worst Case Slack – минимальный худший резерв;

– WACRU – Weighted Activity Criticality & Resource Utilization – взвешенная критичность операции и использования ресурсов;

– MS – Maximum Total Successors – максимальное число последователей;

– MCS – Maximum Critical Successors – максимальное число критичных последователей.

К приоритетам RCMPSP относятся:

– MINSLK – Minimum Slack – минимальный резерв;

– MAXSLK – Maximum Slack – максимальный резерв;

– SASP – Shortest Activity from Shortest Project – кратчайшая операция из кратчайшего проекта обслуживается первой;

– LALP – Longest Activity from Longest Project – самая длительная операция из самого длительного проекта обслуживается первой;

– MINTWK – Minimum Total Work content – выбор операции, дающей минимальный объем потребления ресурсов;

– MAXTWK – Maximum Total Work content – выбор операции, дающей максимальный объем потребления ресурсов;

– TWK-LST – MAXTWK & earliest Late Start time (2-phase rule) – первоначальная приоритизация по MAXTWK, затем по наиболее раннему позднему началу операции (двухфазное правило);

– TWK-EST – MAXTWK & earliest Early Start time (2-phase rule) – первоначальная приоритизация по MAXTWK, затем по наиболее раннему раннему началу операции (двухфазное правило).

На предварительном этапе планирования правила приоритетов используются для формирования начальных решений (календарных графиков проектов или мультипроектов) [1, 5, 10], к которым применяются оптимизирующие эвристики. На этапе оптимизации календарных графиков правила приоритетов встраиваются в соответствующие эвристики [6, 7, 9]. Различные исследования не дали однозначного предпочтения какому-либо критерию применительно к мультипроектному планированию [5, 7, 9].

При исследовании систем различного рода используются критерии с векторными и многовекторными компонентами. Задачи принятия решений в этом случае сводятся к задачам многокритериального, многовекторного и гипервекторного ранжирования.

Для однозначного понимания терминологии введем следующие определения [4]:

- многокритериальным ранжированием является ранжирование векторных критериев, представляющих собой упорядоченные множества скалярных компонент (рис. 1). По мнению авторов данной статьи, наиболее адекватным многокритериальным ранжированием является «жесткое» ранжирование [4]. Будут различаться прямое (по «возрастанию») и обратное (по «убыванию») многокритериальное ранжирование;

klev1.wmf

Рис. 1. Многокритериальное ранжирование: а – скалярные компоненты вектора; б – ранжируемые векторы; в – ранги векторов

- многовекторным ранжированием является ранжирование критериев, представляющих собой упорядоченные множества векторных компонент, а каждая векторная компонента – упорядоченное множество скалярных компонент (рис. 2). Многовекторное ранжирование n критериев с k векторными компонентами (рис. 2, а) осуществляется следующим образом: первоначально производится k «жестких» ранжирований соответствующих векторных компонент (рис. 2, б) с формированием рангов (рис. 2, в); затем «жестко» ранжируются n векторов рангов (рис. 2, г) с формированием рангов (рис. 2, д);

klev2.wmf

Рис. 2. Многовекторное ранжирование: а – скалярные компоненты вектора; б – ранжируемые векторы; в – ранги векторов; г – ранжируемые многовекторные компоненты; д – ранги многовекторных компонент

- гипервекторное ранжирование является ранжированием критериев, представляющих собой упорядоченные множества многовекторных компонент, каждая многовекторная компонента – упорядоченное множество векторных компонент, а каждая векторная компонента – упорядоченное множество скалярных компонент (рис. 3). Гипервекторное ранжирование m гипервекторных критериев, каждый из которых содержит n многовекторных критериев с k векторными компонентами, осуществляется следующим образом: первоначально производится k «жестких» ранжирований соответствующих векторных компонент (рис. 3, б) с формированием рангов (рис. 3, в); затем производится n «жестких» ранжирований соответствующих векторов рангов многовекторных компонент (рис. 3, г) с формированием рангов (рис. 3, д); затем «жестко» ранжируются m векторов рангов гипервекторных компонент (рис. 3, е) с формированием рангов (рис. 3, ж).

klev3.wmf

Рис. 3. Гипервекторное ранжирование: а – скалярные компоненты вектора; б – ранжируемые векторы; в – ранги векторов; г – ранжируемые многовекторные компоненты; д – ранги многовекторных компонент; е – ранжируемые гипервекторные компоненты; ж – ранги гипервекторных компонент

Для мультипроектного планирования предложены две последовательно применяемые схемы: SGS1 – формирование начального календарного графика; SGS2 – его последующая оптимизация [2].

В каждом цикле SGS1 используются два взаимосвязанных правила приоритетов PR11 и PR12. Стратегия PR11 связана с выбором наиболее загруженного по требуемым ресурсам проекта среди не включенных в начальный календарный график. Для проекта выбранного правилом PR11 в правиле PR12 определяется время начала выполнения в начальном календарном графике с обеспечением наибольшей равномерности потребления ресурсов.

В каждом цикле SGS2 также используются два взаимосвязанных правила приоритетов PR21 и PR22. Стратегия PR11 связана с выбором наиболее неравномерного по потреблению ресурсов в календарном графике проекта. Для проекта выбранного правилом PR21 в правиле PR22 определяется время начала выполнения в интервале расписания по крайней мере не ухудшающее интегральную оценку равномерности (критерий равномерности) всего графика.

Для численных экспериментов использовалось тестовое задание, включающее 15 проектов, случайно выбранных из библиотеки тестовых задач PSPLib [8]. Проекты включают по 30 заявок работ, каждой из которых требуется до 4 типов ресурсов в течение их выполнения. Инициируемая заявкой работа характеризуется своей длительностью в тактах планирования. Внутри проекта заявки связаны отношениями предшествования/следования.

Рассмотрим использование правила приоритетов PR11 для ситуации, в которой проекты 12 и 7 уже включены в начальный календарный график. Критерии загруженности проектов формируются на основе скалярных оценок загруженности заявок по каждому из четырех ресурсов. Оценка загруженности определяется произведением тактовой потребности заявки в ресурсе на длительность выполнения работы заявки [2, 3], что позволяет представить каждую заявку вектором из четырех скалярных оценок, упорядоченных по ресурсам. Обратное многокритериальное ранжирование векторов загруженности заявок формируют ранги заявок, определяющие критерии (векторы) загруженности путей графов проектов. Прямое многокритериальное ранжирование векторов загруженности путей графов проектов определяет их ранги, которые формируют критерии (векторы) загруженности проектов. Прямое многокритериальное ранжирование векторов загруженности проектов определяет доминирующий проект, который и будет самым загруженным. Таким образом, правило PR11 реализует гипервекторное ранжирование приоритетов, представленных критериями загруженности проектов.

Таблица 2

Результаты ранжирования для 10 наиболее загруженных путей графов проектов

№ проекта

Путь _ID

Отсортированные по возрастанию ранги заявок путей графов проектов

Ранг пути

1

2

3

4

5

6

7

8

9

9

162

2

6

21

94

176

263

273

296

318

1

9

161

2

6

21

86

179

263

273

296

318

1

5

84

8

12

26

43

103

115

1000

1000

1000

2

11

204

40

44

63

78

88

177

261

1000

1000

3

13

248

14

35

77

82

168

234

254

1000

1000

4

5

86

8

25

26

115

148

274

322

358

1000

5

13

251

14

35

36

77

204

283

1000

1000

1000

6

13

250

48

60

82

106

234

237

254

333

1000

7

13

249

48

60

89

106

225

237

254

333

1000

8

13

252

14

35

77

204

234

254

283

1000

1000

9

10

182

3

59

62

121

185

297

306

1000

1000

10

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

- минимально возможное значение при обратном ранжировании;

- максимально возможное значение при прямом ранжировании.

Графы проектов тестового задания имеют суммарно 356 векторов путей, поэтому значениям недостающих скалярных компонент (табл. 2) присвоено значение 1000.

Реализация правила PR11 (гипервекторное ранжирование критериев загруженности проектов) определила проект 5 (табл. 1) в рассматриваемой ситуации наиболее загруженным проектом. С помощью правила PR12 (многовекторное ранжирование критериев равномерности проектов) проект 5 включается в начальный календарный график, после чего осуществляется переход к следующему циклу схемы SGS1.

Таблица 1

Характеристики проектов тестового задания

№ проекта

Обозначение проекта

Код генератора

Выделяемые проекту ресурсы на такт планирования

Критический путь, такты планирования

R1

R2

R3

R4

1

j30_28.bas

1350739460

42

39

51

44

47

2

j30_28.bas

1001619525

28

40

43

39

63

3

j30_29.bas

1768635613

19

17

20

19

44

4

j30_29.bas

1037926147

17

15

17

17

51

5

j30_29.bas

401731488

15

14

16

16

48

6

j30_30.bas

677072906

30

28

26

33

34

7

j30_30.bas

712413196

23

23

22

20

44

8

j30_28.bas

890933679

28

25

34

42

46

9

j30_31.bas

1335687044

32

26

25

32

48

10

j30_31.bas

2012720068

23

25

28

30

46

11

j30_31.bas

1594625014

34

41

46

37

48

12

j30_31.bas

670867861

24

30

25

25

56

13

j30_32.bas

1264544214

29

39

51

43

48

14

j30_41.bas

377662011

18

13

16

14

45

15

j30_41.bas

1980474781

13

14

12

13

48

Таким образом, получены следующие результаты:

- для решения задач формирования календарных графиков мультипроектного планирования представлены две схемы генерации расписаний с использованием правил приоритетов, реализующих методы ранжирования теории принятия решений;

- показаны результаты гипервекторного ранжирования критериев загруженности проектов.