Постановка задачи формирования календарного плана с взаимозависимыми мероприятиями и алгоритм ее решения

Л.В. Россихина,

кандидат технических наук, доцент, Воронежский институт Федеральной службы исполнения наказаний

ПОСТАНОВКА ЗАДАЧИ ФОРМИРОВАНИЯ КАЛЕНДАРНОГО ПЛАНА С ВЗАИМОЗАВИСИМЫМИ МЕРОПРИЯТИЯМИ И АЛГОРИТМ ЕЕ РЕШЕНИЯ

FORMULATION OF THE PROBLEM OF THE CALENDAR PLAN FORMATION WITH RELATED ACTIVITIES AND ALGORITHM

OF ITS SOLUTION

Рассматривается задача календарного планирования взаимозависимых мероприятий, совместная реализация которых дает дополнительный (синергетический) эффект. Мероприятия выполняются в Тпериодах времени. Заданы ограничения на финансирование по периодам. В качестве критерия принимается минимизация упущенной выгоды. Для решения задачи предложен эвристический алгоритм. Для случая двух периодов предложен точный алгоритм.

The problem of scheduling of interdependent activities, joint implementation of which gives an additional (synergetic) effect is discussed. Activities run in T time periods. Limits are set on the funding period. As the criterion adopted to minimize the loss of benefits. For solving the task, we propose a heuristic algorithm. For the case of two periods the exact algorithmes proposed.

Введение

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

Планы, разрабатываемые в учреждениях и органах уголовно-исполнительной системы, согласно приказу ФСИН России от 17.12.2013 г. N° 777 «Об организации планирования в учреждениях и органах уголовно-исполнительной системы» должны содержать мероприятия, требующие комплексного подхода к решению проблемы.

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

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

Постановка задачи

Имеются n мероприятий, обеспечивающих требуемую комплексную оценку деятельности исправительного учреждения, каждое из которых характеризуется эффектом аi от его реализации и затратами е; на реализацию. Ряд мероприятий взаимозависимы, то есть их совместная реализация дает дополнительный (синергетический) эффект. Обозначим bjj эффект от совместной реализации мероприятий i и j. Взаимозависи-

мость мероприятий можно наглядно представить в виде графа взаимозависимостей О. Вершины графа соответствуют мероприятиям, вершины і и ] соединены ребром (і; ]), если совместная реализация этих мероприятий дает дополнительный эффект Ь^ (рис. 1,

дополнительные эффекты указаны у ребер графа).

Рис. 1

Мероприятия выполняются в Т периодах. Заданы ограничения на финансирование мероприятий по периодам. Чем в более позднем периоде выполняется мероприятие, тем больше упущенная выгода от его реализации. Для формальной постановки задачи обозначим Як объем финансирования выполнения плана за к периодов. Очевидно, Я1 < Я2 <... < Ят .

Обозначим далее qk уменьшение эффекта при выполнении мероприятия в к-м периоде по сравнению с его выполнением в первом периоде q1 > q2 > ...> qт.

Введем переменные х1к = 1, если мероприятие 1 выполняется в периоде к, х1к = 0 в противном случае. Выпишем выражения для упущенной выгоды:

ф

1,к 1,],к,Б

Ограничения имеют вид

Е х1к = 1, 1 = 1, п

к

Б П --

ЕЁс1х1к£ Б = 1Д.

к=1 1=1

(Предполагаем, что ^С1 £ Ят , то есть все мероприятия могут быть выполнены за Т пе-

1

риодов).

Поясним критерий (1). Если (1,])е О, то синергетический эффект появится после реализации обоих проектов, то есть после реализации более позднего проекта.

Как уже отмечалось, задача относится к сложным задачам дискретной оптимизации.

Частный случай

Рассмотрим случай двух периодов. В этом случае обозначим х1 = 1, если проект

1 выполняется в первом периоде, х1 = 0, в противном случае. Критерий (1) принимает вид

+ \ 2 (1 - хі)(і - xj )Ьу42 = 2 42 (аі + ві ) + 2 [(41 - 42 )а і - 42 (ві + сі )]хі +

и

+ 2 хі^ (41 + 42 )Ьij,

У

где Сі = ^Ьji, Ві = ^ЬIj, 1 = й.

2 j 2 j Обозначая

^ = [(4і - 42)аі - 42 (ві + Сі)]

Рч = (4і + 42 )ЬIj

и отбрасывая постоянные составляющие ^ д2 (а і + Ві), получаем целевую функцию

і

Ф

і У

Получим задачу квадратичного программирования в переменных 0, 1.

Рассмотрим сначала случай, когда граф взаимозависимостей является паросочетани-

ем (рис. 2).

Рис. 2

В этом случае эффективным методом является метод дихотомического программирования

[3].

Пример 1. Возьмем структуру дихотомического представления таким образом, что все пары вершин 1 ] такие что (1,])е О, находятся на нижнем уровне дихотомического представления (рис. 3).

Данные о мероприятиях приведены в табл. 1.

Таблица 1

і 1 2 3 4

аі 10 5 18 11

сі 15 5 20 15

10

6

ь

Примем Я1 = 20, Я2 = 40 .

1-й шаг. Рассматриваем мероприятия 1 и 2. Решение приведем в табл. 2.

Таблица 2

1 5;5 25;20

0 0;0 10;15

2 1 0 1

Первое число в клетках соответствует эффекту, а второе — затратам.

Результаты сведены в табл. 3.

Таблица 3

Вариант 0 1 2 3

Эффект 0 5 10 25

Затраты 0 5 15 20

2-й шаг. Рассматриваем мероприятия 3 и 4. Решение приведено в табл. 4.

Таблица 4

Вариант 0 1 2

Эффект 0 20 44

Затраты 0 15 35

Вариант (18;20) исключен, поскольку он доминируется вариантом (20;15) (при меньших затратах получаем больший эффект).

3-й шаг. Рассматриваем объединенные мероприятия (1, 2) и (3, 4). Решение приведено в табл. 5.

2 44;35 - - -

1 20; 15 25;20 30;30 45;35

0 0;0 5;5 10;15 25;20

(3;4) ^^(1;2) 0 1 2 3

Выбираем клетку с максимальным первым числом. Это клетка (25; 20) с эффектом 25 и затратами 20. Оптимальное решение определяем методом обратного хода. Клетке (25; 20) соответствует вариант 1 табл. 3 и вариант 1 табл. 5. Варианту 1 табл. 5 соответствует х3 = 0, х4 = 1. Варианту 1 табл. 3 соответствует х1 = 0, х2 = 1. Окончательно получаем решение х22 = 1, х4 = 1, то есть в первом периоде выполняются мероприятия 2 и 4.

Если граф взаимозависимостей не является паросочетанием, поступаем следующим образом. Определяем множество вершин графа, после удаления которых граф становится паросочетанием. Далее перебираем все возможные варианты выполнения в первом периоде проектов, соответствующих удаленным вершинам. Если число таких вершин равно т, то число вариантов, очевидно, 2т. Для каждого варианта решаем задачу описанным выше алгоритмом и из всех решений выбираем лучшее.

Пример 2. Пусть граф взаимозависимостей представлен на рис. 4 с учетом пунктирных ребер (эффекты Ьу указаны у пунктирных ребер). Если удалить вершины 6 и 10, то

получим паросочетание. Таким образом, необходимо рассмотреть 22 = 4 варианта.

Рис. 4

Данные о мероприятиях приведены в табл. 6. Примем Я1 = 55 , Я2 = 70.

Таблица 6

і 1 3 4 5 6 7 9 10 12 14

10 5 3 3 4 10 15 18 8 17

сі 15 5 10 5 10 15 15 20 10 20

Ьч 5 4 0 5

Первый вариант. Мероприятия 6 и 10 выполняются во втором периоде. В этом случае граф О принимает вид, приведенный на рис. 5.

О

Рис. 5

Решая задачу описанным выше алгоритмом, получаем оптимальное решение (58; 55) с эффектом 58 и затратами 55.

Второй вариант. Мероприятие 6 выполняется в первом периоде, а мероприятие 10 во втором. Добавляя эффект 4 мероприятию 5 и эффект 6 мероприятию 4, получаем оптимальное решение (63; 55) с эффектом 63.

Третий вариант. Мероприятие 10 выполняется в первом периоде, а мероприятие 6 во втором. Добавляя эффект 3 мероприятию 7 и эффект 2 мероприятию 9, получаем оптимальное решение (63; 55) с эффектом 63.

Четвертый вариант. Мероприятия 6 и 10 выполняются в первом периоде. Оптимальное решение (68; 55) с эффектом 68.

Максимальный эффект 68 достигается при четвертом варианте. Методом обратного хода определяем, что в первом периоде выполняются мероприятия х4, х5, х6, х7, х9,

х10, х12.

Эвристический алгоритм

Рассмотрим общий случай Т периодов. Как уже отмечалось, задача является КР-сложной, поэтому рассмотрим эвристический алгоритм ее решения.

Описание алгоритма

1-й шаг. Рассматриваем два периода — первый с ресурсом Я1 и все остальные с

ресурсом К.т. Определяем дисконтирующий параметр

т

Г Ч1Р1

д

Р О к т — К-1

где Р1 = К — Я1—1, 1 = 2,Т.

Обоснованием такой формулы для дисконтирующего параметра служат следующие рассуждения. Если Р2 = Ят — Я1, Р1 = 0, 1 = 3,Т, то очевидно о(2) = о2. Если Рт = Ят — Я1, Р1 = 0, 1 = 2,Т — 1, то очевидно о (2) = дт. Если

— к

р, =-

т — 1

1 = 2, т,

то очевидно

то есть д (2) равно среднему значению. Таким образом, д (2) равно средневзвешенному значению д^ 1 = 2, Т.

Теперь применим описанный выше алгоритм для двух периодов, подставляя в формулы (4), (5) величину д(2) вместо д2.

Пусть Q1 множество мероприятий, выполняемых в первом периоде.

2-й шаг. Рассматриваем второй период и все периоды от третьего до последнего. Решаем задачу для двух периодов без мероприятий множества Q1 и с количеством ресурсов во втором периоде:

N2 = ^2 — 2 С1 .

1^1

Параметр д (3) определяем аналогично (7).

Обозначим Q2 — решение этой задачи.

К-й шаг. Рассматриваем к-й период и остальные периоды от (к+1)-го до Т (к < Т -1). Решаем задачу для двух периодов с множеством проектов за исключением проектов

к-1

Q(k -1)= и Ql,

1=1

и с количеством ресурсов

N1= ^- 2с-

^

Параметр д (к) определяем аналогично (7).

За (Т-1) шагов будет получено допустимое решение задачи.

Пример 3. Данные о мероприятиях приведены в табл. 7. Пусть Т=4, Я1 = 20, Я2 = 45, Я3 = 60 , Я4 = 80, д1 = 15, д2 = 8, д3 = 4, д4 = 2 .

Таблица 7

1 1 2 3 4 5 6

а 1 9 18 6 14 8 7

С1 16 24 12 20 10 10

Ьи 6 8 4

Определяем Р2 = 25 , Р3 = 15 , Р4 = 20

д(2)= д2р2 + д3Р3 + д4Р4 = 8 • 25 + 4 15 + 2 • 20 = 5

Я4 - Я1 80 - 20 .

Значения коэффициентов ^ и р^, рассчитанные по формулам (4) и (5), представлены в табл. 8.

і 1 2 3 4 5 6

гїі 60 150 20 100 60 50

С і 3 3 4 4 2 2

Вц 3 3 4 4 2 2

Рц 120 160 80

Решая задачу с использованием описанного выше алгоритма, получаем оптимальное решение (190;20). Ему соответствует выполнение в первом периоде мероприятий 5 и 6 с эффектом 190 и затратами 20.

Исключаем мероприятия 5 и 6, решаем задачу для второго периода с количеством ресурса Я2 -(с5 + с6). Оптимальное решение — (72;24). Ему соответствует выполнение во втором периоде мероприятия 2 с эффектом 72 и затратами 24.

Исключаем мероприятие 2 и решаем задачу для третьего периода.

В третьем периоде выполняется мероприятие 1. Соответственно, в четвертом -мероприятия 3 и 4.

Суммарный дисконтированный эффект составляет Ф = 15 -(8 + 7)+ 8 -18 + 4 • 9 + 2-(6 +14)= 445.

Заключение

Решение более ста примеров небольшой размерности показало, что средняя относительная ошибка не превышает 5%. Можно высказать предположение, что с увеличением числа мероприятий ошибка не увеличивается.

Рассмотренная задача формирования календарных планов при наличии взаимозависимых проектов может быть обобщена по различным направлениям. Так, например, можно рассмотреть ситуацию, когда проекты выполняются последовательно и задано время выполнения каждого проекта. Предложенный в статье эвристический алгоритм также допускает различные модификации. Например, можно делить период Т пополам (на два интервала по 1Т периодов, если Т — четное число). Можно взять первые (Т-1) периодов и последний и т.д. Эти и другие модификации требуют дальнейших исследований.

ЛИТЕРАТУРА

1. Дранко А. И., Андрианова И.И., Зенищева В.Г. Задача формирования портфеля проектов, ряд из которых взаимозависимы // Системы управления и информационные технологии. — 2012. — № 4.1(50). — С. 138—142.

2. Минимизация упущенной выгоды в задачах управления проектами / С.А. Баркалов [и др.]. — М.: ИПУ РАН, 2001. —72 с.

3. Бурков В.Н., Буркова И.В., Попок М.В. Метод дихотомического программирования // Управление большими системами: сб. тр. — Вып. 9. — М.: ИПУ РАН, 2004. — С. 57—75.