Сivil Aviation High Technologies
Vol. 20, No. 03, 2017
УДК 656.7
МЕТОД РАСЧЕТА СЕТЕВЫХ ГРАФИКОВ ВЫПОЛНЕНИЯ РАБОТ, УЧИТЫВАЮЩИЙ НАЛИЧИЕ РАСПОЛАГАЕМЫХ РЕСУРСОВ
Г.В. ГОЛОВЧЕНКО1, М.И. РЕБЕЗОВА2
1 Санкт-Петербургский университет гражданской авиации, г. Санкт-Петербург, Россия 2 Транспортная Клиринговая Палата, г. Москва, Россия
Рассматривается сетевой график выполнения работ бригадами по комплексному обслуживанию рейсов в аэропорту. В известных алгоритмах нахождения критического пути предполагается, что длительности работ заданы, а начало выполнения работы определяется только временем наступления начального для него события. В действительности начало выполнения работы зависит также от наличия необходимых для ее выполнения ресурсов в нужный период времени.
Описывается формальная постановка задачи. Для решения задачи в работе вначале используется известный алгоритм построения дерева кратчайших путей сетевого графика в предположении, что длительности выполнения работ известны, а ресурсов достаточно, с тем чтобы начать каждую работу в нужное время. Далее этот алгоритм модифицируется с целью учета имеющихся в наличии ресурсов. Для описания ресурсов вводится специальная аналитическая функция, представленная в виде двумерной матрицы, в которой строки соответствуют различным единицам ресурса, а столбцы - моментам времени суток, равноудаленным на какое-то фиксированное время. Для решения оптимизационной задачи предлагается численный метод последовательного поиска с горизонтом просмотра, содержащий два цикла: внешний - по бригадам (им соответствуют строки матрицы) и внутренний - по времени суток (им соответствуют столбцы этой матрицы). Метод реализован с использованием вычислительной среды Matead. Предложенный метод применим как для обслуживания отдельного объекта, так и для потока объектов. Метод валидирован на конкретных примерах.
В заключительной части статьи приводятся сведения об использовании разработанного алгоритма в пакете прикладных программ автоматизированной системы комплексного обслуживания рейсов в аэропорту (КОБРА) для планирования обслуживания задержанных рейсов в аэропорту в сбойных ситуациях.
Ключевые слова: сетевой график, критический путь, ограниченные ресурсы, обслуживание авиарейсов.
ВВЕДЕНИЕ
Сетевой график выполнения работ является удобным и широко применяемым средством [1, 2, 3]. Он представляет собой ориентированный ациклический граф G = (V, E) с множеством вершин V и множеством дуг E. В графе имеется одна вершина (источник) v0 е V без входящих дуг и одна вершина (сток) vk е V без выходящих дуг. Дуги графа e е E соответствуют работам,
а вершины v е V - событиям, заключающимся в том, что для всех входящих в вершину дуг соответствующие им работы завершены. В свою очередь каждая работа может быть начата, если произошло событие, которое является начальным для соответствующей дуги. Каждая дуга e имеет длину d(e), равную длительности выполнения соответствующей работы. Длительность выполнения всех работ равна длине самого длинного (критического) пути из источника в сток.
Имеется большое количество красивых алгоритмов нахождения критического пути [4, 5, 6, 7]. В них всегда предполагается, что длины дуг (длительности работ) заданы, а начало выполнения работы определяется только временем наступления начального для него события. В действительности оно зависит также от наличия необходимых для выполнения работы ресурсов в нужный период времени. В статье излагаются алгоритмы нахождения критического пути для этого случая. Опишем формальную постановку задачи.
Итак, заданы граф G = (V, E) и длины дуг (длительности выполнения работ) {d(e)}. Кроме того, для каждой работы с номером m известны вид необходимого ресурса р(т) и потребляемый его объем r(m). Известны также временные графики располагаемых ресурсов (бригад исполнителей, средств механизации и пр.) Аналитически график для р-го вида ресурса зада-
Vol. 20, No. 03, 2017
Ovil Aviation High Technologies
ется функцией времени g(t, р). Значение g(t, р) равно объему р-го вида ресурса, имеющемуся в момент времени t.
Для каждой работы с номером m необходимо определить время ее начала t•(m) и окончания ^(т) так, чтобы она могла быть выполнена в этот период и чтобы время выполнения всех работ сетевого графика (длина критического пути) было минимальным.
Обобщением описанной постановки является рассмотрение многих сетевых графиков (объектов проведения работ), которые должны быть выполнены в заданной последовательности.
Изложение материала настоящей статьи следующее. Во втором разделе приводится алгоритм построения дерева кратчайших путей, используемый далее. В третьем разделе описывается метод учета располагаемых ресурсов, применяемый при построении сетевых графиков выполнения работ. Основной алгоритм расчета сетевых графиков приведен в четвертом разделе. Статья завершается заключительными комментариями.
АЛГОРИТМ НАХОЖДЕНИЯ ДЕРЕВА КРИТИЧЕСКИХ ПУТЕЙ
Ниже приводится известный алгоритм нахождения дерева кратчайших путей сетевого графика. В дальнейшем он будет модифицирован с учетом располагаемых ресурсов для выполнения работ. В данном алгоритме предполагается, что длительности выполнения работ {й(е)} известны и ресурсов достаточно, с тем чтобы начать каждую работу в нужное время.
Вход. Сетевой график О = (У, Е) и матрица длин дуг ^огк = (йгу), где г и у - номера
вершин, а (/, у) - дуга из вершины Уг в вершину Уу. Предполагается, что нумерация вершин правильная: г < у для любой дуги (г, у).
Выход. Кратчайшие пути от начальной вершины уо до всех вершин, достижимых их уо, и их длины.
Метод. Вершины Уу е V просматриваются в порядке их нумерации. Для очередной вершины с номером у для всех предшествующих ей вершин уже известны наибольшие длины до них от начальной вершины. Это позволяет определить длину критического пути до вершины Уу. В алгоритме используются метки вершин {Ьу}, равные длинам кратчайших путей до вершин. Используется также процедура Ргес(у, О) (от английского слова ргесейгщ - предшествующий), выдающая множество вершин графа О, из которых ведут дуги в вершину Уу.
Алгоритм.
Шаг 0. Полагаем Ьо = 0, у = 1.
Шаг]. Организуем цикл по вершинам из множества Ргес(у, О). Для очередной вершины Уг определяем, имеется ли дуга из вершины Уг в вершину Уу. Если нет, то переходим к следующей вершине из множества Ргес(у, О). Если да и йг,,у есть длина этой дуги, то вычисляем длину
пути до Уу, проходящего через вершину Уг:
Ьу = Ц + ^ .
Наибольшее из этих значений для Уг е Рг ес(у, О) и дает длину кратчайшего пути до
вершины Уу. Дуга, соответствующая этой длине, вводится в дерево кратчайших путей.
Если просмотрены не все вершины, то переход к шагу у = у + 1. Иначе - конец работы алгоритма.
УЧЕТ РАСПОЛАГАЕМЫХ РЕСУРСОВ ДЛЯ ВЫПОЛНЕНИЯ РАБОТ
Располагаемые ресурсы для выполнения работ аналитически описываются функциями g (^ р), где t - время суток, р - вид ресурса. В компьютерных программах для каждого фиксиро-
Ovil Aviation High Technologies
Vol. 20, No. 03, 2017
ванного вида ресурса р, функция g р) представлена двумерной матрицей ggp = (ggрt,,,r), в которой строки соответствуют различным единицам ресурса (бригадам, средствам механизации и т. п.), а столбцы - моментам времени суток, равноудаленным на время А (например, 5 минут). Будем далее единицу ресурса называть бригадой. Сама матрица содержит располагаемые объемы ресурсов, дифференцированные по отдельным единицам ресурса (бригадам) и времени суток.
В процессе работы алгоритмов матрица ggр корректируются путем уменьшения объемов располагаемых ресурсов в результате их использования при выполнении работ на объектах.
Опишем алгоритм определения времени начала t* и окончания ^ конкретной работы е = (г, у), требующей ресурса р. Предполагается, что уже известны времена окончания всех работ, предшествующих событию г. Максимальное из них дает минимально возможное время начала выполнения работы е = (г, у). Обозначим его т.
Алгоритм содержит два цикла: внешний - по бригадам (им соответствуют строки матрицы gg) и внутренний - по времени суток (им соответствуют столбцы этой матрицы).
Цикл по времени суток для фиксированной бригады. В специальном массиве указывается место нахождения бригады. На основании этого вычисляется время А1, необходимое для перемещения бригады к месту нахождения рассматриваемого объекта. Началом просмотра соответствующей строки матрица gg (^ р) является момент времени т - Л1. Время Л2 выполнения работы (г, у) бригадой берется из типового сетевого графика О. Находится первый интервал длины Л = Л1 + Л2, в течение которого бригада свободна. Запоминается начало этого интервала t* и номер бригады.
Цикл по бригадам. После просмотра всех бригад на работу назначается бригада, для которой время начала t* наименьшее. Время окончания выполнения работы е = (г, у) определяется как ^ = t* + Л. После этого корректируется строка массива gg, соответствующая выбранной бригаде. А именно, в соответствующих тактах времени будут записаны номер объекта и номер выполненной работы. Для тактов, соответствующих времени перемещения бригады, эта информация записывается со знаком минус. Кроме того, в специальном массиве записывается новое местонахождение бригады, в котором она оказывается после выполнения рассматриваемой работы.
Вычисление срока наступления события. После рассмотрения всех работ ег = (г, у), завершающихся событием у (т. е. всех г из множества Ргес (у, О), срок наступления этого события Т (/) вычисляется как наибольшее значение из времени окончания этих работ ^.
АЛГОРИТМ РАСЧЕТА СЕТЕВОГО ГРАФИКА
Вышеизложенное позволяет рассчитать весь сетевой график выполнения работ. Он состоит в последовательном рассмотрении работ (г, у) в порядке, при котором более часто меняется значение у: (0, 0), (0, 1), (0, 2), .... , (1, 2), (1, 3), (1, 4), ... Как и ранее, Т О есть время наступления события у данного сетевого графика. Значение ТО является заданным - оно было рассчитано в предыдущем разделе. Это есть самый ранний возможный срок начала работ, начинающихся с события у. Тогда алгоритм можно записать так.
Алгоритм
Шаг 0. Полагаем т = Т (0), у = 1.
Шаг]. Организуем цикл по вершинам из множества Ргес(у, О). Для очередной вершины \г определяем дугу (г,у) из графика О. Согласно предыдущему разделу, вычисляем время начала t* и окончания ^ работы (г, у). Из значений ^, полученных для всех вершин из Ргес(у, О), выбирается наибольшее. Оно и принимается в качестве времени наступления у-го события Т(у). Если все вершины сетевого графика рассмотрены, то конец работы алгоритма. Иначе полагаем у = у + 1 и переходим на шаг у.
Этот алгоритм может применяться для планирования работ не на одном, а на многих объектах. Конечно, каждый объект может иметь свой сетевой график обслуживания. Проведе-
Vol. 20, No. 03, 2017
Oivil Aviation High Technologies
ние работ каждого графика учитывается в содержании матриц {gg (t, р)}, в которые постоянно вводится информация об используемых ресурсах.
ПРАКТИЧЕСКОЕ ПРИМЕНЕНИЕ РАЗРАБОТАННЫХ АЛГОРИТМОВ
Разработанные алгоритмы реализованы в пакете прикладных программ автоматизированной системы комплексного обслуживания рейсов в аэропорту (КОБРА) [4-6]. Этот пакет разработан Региональным информационно-вычислительным центром (РИВЦ) - Пулково для целей оперативного управления бригадами аэропорта в сбойных ситуациях.
Важнейшим исходным массивом является массив Air, содержащий информацию об очередности обслуживания вылетающих самолетов и их характеристиках. Структура массива представлена в табл. 1. Первая строка таблицы содержит порядковые номера самолетов, вторая - их типы, третья - вместимость самолетов (количество пассажиров на борту), четвертая - номера мест стоянки самолета на аэродроме. Например, для десятого по порядку самолета тип AirList2,io = 3, вместимость - AirList3,io = 120 пассажиров, место стоянки AirList4,io = 4.
Фрагмент типового сетевого графика обслуживания G = (V, E) и соответствующая матрица длин дуг Dwork = (dij) представлены массивом списка работ List (табл. 2). Столбцы соответствуют работам. Столбец последовательно содержит следующие показатели, записываемые в отдельных строках.
Таблица 1 Table 1
Массив AirList Array of AirList
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
1 3 4 2 1 5 5 4 2 3 3 4 2 5 3
20 100 230 88 51 204 210 112 98 120 98 134 96 211 89
1 3 5 7 9 11 13 15 2 4 6 8 10 12 14
1. Порядковый номер работы.
2. Номер начального события i.
3. Номер заключительного события j.
4. Код потребляемого ресурса р.
5. Объем потребляемого ресурса hij.
6. Длительность выполнения операции dij = tij - Uj.
Первые четыре показателя являются идентификатором операции, а два последних - ее характеристиками.
Таблица 2 Table 2
Массив списка работ List Array of List operations list
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
1 1 1 2 2 2 2 3 4 4 5 6 6 6 7
2 3 4 3 5 6 6 8 7 8 10 7 8 9 10
1 1 2 2 3 4 6 5 5 6 6 4 4 5 2
2 1 1 1 1 1 1 1 2 1 1 1 2 1 1
18 12 19 14 16 19 18 12 39 10 17 17 22 18 18
Civil Aviation High Technologies
Vol. 20, No. 03, 2017
Двумерные матрицы ggp = (ggpt,,r), описывающие состояния располагаемых ресурсов для выполнения различных работ, описаны в табл. 3. Столбцы соответствуют интервалам времени суток t, а строки - конкретным единицам ресурсам r - бригадам по нашей терминологии. Значение содержимого одной клетки следующее. Ноль означает, что в это время ресурс отсутствует (бригада не работает), а -1 означает, что он имеется в наличии, но не используется. Трехзначное ZYX или четырехзначное WZYX число означает, что на самолете с номером Z или WZ проводится работа с номером YX. Ранее в табл. 2 было приведено описание работы с этими номерами. Знак минус перед числами ZYX или WZYX означает, что ресурс перемещается к месту стоянки самолета. В каждой строке предпоследняя клетка содержит текущее местонахождение бригады, записанное с обратным знаком. Последняя клетка содержит момент времени ТТ окончания последней выполненной бригадой работы на самолете с номером Z или WZ. Формат записи следующий: ZTT или WZTT.
Таблица 3 Table 3
Матрица состояния ресурса gg1 = (gg1t,,r), Resource state matrix gg1 = (gg1t,,r)
r/1 1 2 3 4 5 6 7 8
1 -1 -101 101 101 101 -202 202 202
2 -1 -102 102 102 -201 201 201 201
3 0 0 0 0 0 0 0 0
4 0 0 0 0 0 0 0 0
5 0 0 0 0 0 0 0 0
Далее будут представлены некоторые формы выходной информации. В следующей таблице указано время наступления событий сетевого графика List для конкретного самолета.
Таблица 4 Table 4
Время наступления событий сетевого графика List для самолета Reis = 5 The start time of events for List network diagram for the aircraft Reis = 5
No 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
tk 14 22 38 51 38 44 66 53 66 73 71 74 75 77 80
Табл. 5 содержит время начала (вторая строка) и окончания (третья строка) обслуживания самолетов списка Airlist.
Таблица 5 Table 5
Время начала to и окончания tk обслуживания самолетов списка Airlist The start time to and the termination time tk of aircraft maintenance for the array of Airlist
No 1 2 3 4 5 6 7 8
to 3 6 10 13 14 21 26 27
tk 42 50 70 75 80 100 102 140
Табл. 6 содержит время начала to и окончания tк работ (с номерами N0) на конкретном самолете.
Vol. 20, No. 03, 2017
Civil Aviation High Technologies
Таблица 6 Table 6
Время начала to и окончания tk выполнения работ на самолете Reis = 5 The start time to and the termination time tk of the aircraft Reis = 5 operations
No 1 2 3 4 5 6 7 8 9 10
to 20 14 49 37 30 42 40 40 60 53
tk 22 15 51 38 31 44 42 41 66 53
No 11 12 13 14 15 16 17 18 19 20
to 40 46 46 46 71 65 66 55 62 50
tk 42 48 48 48 74 66 67 56 64 51
No 21 22 23 24 25 26 27 28 29 30
to 50 69 69 75 73 74 73 73 77 79
tk 51 71 71 77 74 75 74 74 79 80
ЗАКЛЮЧЕНИЕ
В статье изложен метод расчета сетевых графиков выполнения работ, учитывающий наличие располагаемых ресурсов. Этот метод применим как для обслуживания отдельного объекта, так и для потока объектов. Разработано программное обеспечение представленных алгоритмов, реализованное в контуре оперативного управления АС «Кобра» и предназначенное для планирования обслуживания задержанных рейсов в аэропорту в сбойных ситуациях.
СПИСОК ЛИТЕРАТУРЫ
1. Hoare H.R. Project Management Using Network Analysis. McGraw-Hill. London, 1973, 120 p.
2. Mukherjee S., Basu K. Solution of interval PERT/CPM network problems by a simplified tabular method. OPSEARCH. Vol. 48, issue 4, 2011, pp. 355-370.
3. Vanhoucke M. Project Management with Dynamic Scheduling. Springe. Berlin, 2012, 310 p.
4. Кофман А., Дебазей Г. Сетевые методы планирования и их применение. М.: Прогресс, 1969.
5. Ore O. Theory of Graphs. American Mathematical Society. Providence, 1962, 270 p.
6. Christofides N. Graph Theory. An Algorithmic Approach. Academic Press Inc., 1975, 415 p.
7. Andronov A.M., Rebezova M.I. Polynomial approximation of the activity time distribution in network diagrams. Automatic control and computer sciences, 2013, vol. 47, № 4, рр. 192-201.
8. Автоматизация производственной и финансово-экономической деятельности предприятий гражданской авиации: учебное пособие / Г.В. Головченко, А.В. Губенко, Э.И. Махарев, М.Ю. Смуров. М.: Спутник, 2016. 348 с.
9. Головченко Г.В. К задаче оптимизации оперативного управления самолетовылетами в сбойных ситуациях в аэропорту // Вестник Санкт-Петербургского государственного университета гражданской авиации. 2016. № 1 (10). С. 98-106.
10. Головченко Г.В. Метод оптимизации очередности подготовки самолетов к вылету при сбойных ситуациях // Вестник Санкт-Петербургского государственного университета гражданской авиации. 2016. № 2 (11).
СВЕДЕНИЯ ОБ АВТОРАХ
Головченко Глеб Валентинович, директор по развитию автоматизированных технологий авиапредприятий РИВЦ-Пулково, [email protected].
Ребезова Марина Ильинична, начальник отдела по работе с нерезидентами РФ ПАО «Транспортная Клиринговая Палата», [email protected].
Civil Aviation High Technologies
Vol. 20, No. 03, 2017
NET GRAF CALCULATION METHOD FOR JOB COMPLETION CONSIDERING OF RESOURSES AVAILABALE
Gleb V. Golovchenko1, Marina I. Rebezova2
1 St. Petersburg State University of Civil Aviation, Saint Petersburg, Russia
2Transport Clearing House, Moscow, Russia
ABSTRACT
The research considers the activity based network of routines performed by the integrated servicing crews at the airport. The known algorithms for critical path claiming suppose that the activity duration is given and the beginning of any activity is determined. However, the beginning of the activity also depends on the presence of the necessary resources for the given period of time.
The formal statement of the problem is described. For the solution of the problem the well-known algorithm for constructing the tree of the shortest paths of the network graph is used. Herewith we suppose, that activity durations are known and resources are sufficient in order to start each activity at the right time. Further, this algorithm is modified in order to take into account available resources. The special two-dimensional matrix with rows showing resource units and columns denoting the equally separated time intervals is used to demonstrate the resources state. The numerical method is proposed for solving the optimization problem. The method is implemented using the Mathcad computing environment and validated by specific examples.
The method is implemented as a complex automated solution for operational management of airport services in the critical situations.
Key words: network graph, critical path, scarce resources, aero navigation service.
REFERENCES
1. Hoare H.R. Project Management Using Network Analysis. McGraw-Hill. London, 1973, 120 p.
2. Mukherjee S., Basu K. Solution of interval PERT/CPM network problems by a simplified tabular method. OPSEARCH, 2011, vol. 48, issue 4, pp. 355-370.
3. Vanhoucke M. Project Management with Dynamic Scheduling. Springe. Berlin, 2012, 310 p.
4. Kofman A., Debazej G. Setevye metody planirovanija i ih primenenie [Network planning methods and their application]. Moskva, Progress, 1969. (in Russian)
5. Ore O. Theory of Graphs. American Mathematical Society. Providence, 1962, 270 p.
6. Christofides N. Graph Theory. An Algorithmic Approach. Academic Press Inc., 1975, 415 p.
7. Andronov A.M., Rebezova M.I. Polynomial approximation of the activity time distribution in network diagrams. Automatic control and computer sciences, 2013, vol. 47, № 4, pp. 192-201.
8. Golovchenko G. V., Gubenko A. V., Maharev Je. I., Smurov M. Ju. Avtomatizacija pro-izvodstvennoj i finansovo-jekonomicheskoj dejatel'nosti predprijatij grazhdanskoj aviacii [Automation of Industrial, Financial and Economic activities of Civil Aviation enterprises]. M., Sputnik, 2016. 348 p. (in Russian)
9. Golovchenko G.V. K zadache optimizacii operativnogo upravlenija samoletovyletami v sbojnyh situacijah v ajeroportu [To the task of optimizing the operational management of aircraft departures in bad situations at an airport]. Vestnik Sankt-Peterburgskogo gosudarstvennogo universiteta grazhdanskoj aviatsyii, 2016, no. 1 (10), p. 98-106. (in Russian)
10. Golovchenko G.V. Metod optimizatsyii ocherjodnosti podgotovki samolyotov k vyiletu pri sboynyh situatsyiyah [Method for optimizing the order of preparation of aircraft for take-off in case of bad situations]. Vestnik Sankt-Peterburgskogo gosudarstvennogo universiteta grazhdanskoy aviatsyii, 2016, no. 2 (11). (in Russian)
Vol. 20, No. 03, 2017 Civil Aviation High Technologies
INFORMATION ABOUT THE AUTHORS
Gleb V. Golovchenko, Director for the Development of Automated Technologies for Airlines, RIVC -Pulkovo, g.gol [email protected].
Marina I. Rebezova, Head of Non-Residents Department, PJSC "Transport Clearing House", [email protected].
Поступила в редакцию 15.03.2017 Received 15.03.2017
Принята в печать 27.04.2017 Accepted for publication 27.04.2017