РАЗРАБОТКА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ДЛЯ АВТОМАТИЗАЦИИ ПРОЦЕССА ВЫБОРА ИСПОЛНИТЕЛЯ ПО УСТРАНЕНИЮ ИНЦИДЕНТА
Секция: 3. Информационные технологии
лауреатов
участников
лауреатов
участников
XXXV Студенческая международная заочная научно-практическая конференция «Молодежный научный форум: технические и математические науки»
РАЗРАБОТКА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ДЛЯ АВТОМАТИЗАЦИИ ПРОЦЕССА ВЫБОРА ИСПОЛНИТЕЛЯ ПО УСТРАНЕНИЮ ИНЦИДЕНТА
Весь окружающий мир, созданный человеком, состоит из сложных систем, подлежащих обслуживанию. Одной из актуальных проблем в городах России является эксплуатация сетей инженерно-технического обеспечения [3, с.930] и объектов дорожного хозяйства. Это обусловлено, тем что обслуживание отдельных элементов и подсистем зачастую находится в сфере ответственности различных людей или организаций. Сотрудникам эксплуатирующих организаций комплексов городского хозяйства крупных и средних населенных пунктов ежедневно приходится обрабатывать огромный объем данных для обеспечения планирования, учета ремонтной деятельности [2], особенно в условиях территориальной распределённости балансодержателей. Реальным вариантом является эксплуатация существующего оборудования с заменой элементов, исчерпавших свой индивидуальный ресурс [1, с.77]. Неудивительно, что при подобном подходе очень часто возникают инциденты на объектах балансовой принадлежности.
Согласно данным из открытых источников, только за последние пару лет в Москве выявлено силами волонтеров более 1 млн. инцидентов. К этим инцидентам относиться такие события, как подтопления, ямы, размытия, обрывы силовых кабелей и прорывы труб горячего и холодного водоснабжения, аварии на газовых объектах. Также надо понимать, что это инциденты, обнаруженные неспециалистами. Количество же инцидентов, включая информацию, полученную службами внутреннего контроля предприятий и данными с автоматизированных систем управления предприятиями может увеличить вышеуказанное число в 3 и более раз.
Как правило, в данный момент определение ответственного за устранение инцидента ведется двумя экстенсивными путями:
1. Если ситуация неаварийная, то определение ложиться на плечи диспетчерских служб, а если быть абсолютно корректными, одного единственного диспетчера, который методично обзванивает ремонтные службы в надежде найти сознательного мастера, готового взяться за устранение выявленных недостатков.
2. В случае аварийной ситуации на место вызываются все возможные службы и определение ответственного происходит непосредственно путем визуального осмотра. Надо понимать, что аварийная ситуация требует быстрого устранения, поэтому выезжают не сверхкомпетентные специалисты на экологически чистых велосипедах, а ремонтные бригады из нескольких человек, на специально оборудованных машинах, как правило, относящихся к грузовому транспорту и укомплектованных спецсредствами, что влияет не только на экологическую обстановку в городе, но и обеспечивает повышенный износ инфраструктуры.
Все вышесказанное говорит о необходимости автоматизации процесса выбора исполнителя по устранению инцидента, обеспечив алгоритм такими качествами, как:
1. Однозначность при выборе исполнителя.
2. Максимальная скорость реагирования.
3. Равномерная нагрузка на всех возможных исполнителей.
Для реализации программного модуля в общем виде наиболее простейшем вариантом представляется создание таблицы решений по столбцам которой расположены организации, подразделения или сотрудники, а по строкам виды работ. В этом случае решение сводится к алгоритмам поиска соответствия в матрице.
В общем виде обозначим через w1,w2, w3,….,wi виды работ, а через e1, e2, e3,…., ej: исполнителей. Создадим бинарную матрицу, в которой по строкам расположим виды работ, по столбцам – исполнителей.
Таблица 1.
Матрица выбора
|
e1 |
e2 |
…. |
ej |
w1 |
1 |
0 |
|
0 |
w2 |
0 |
1 |
|
0 |
… |
|
|
|
|
wi |
0 |
0 |
|
1 |
В самом простом случае, когда для каждого вида работ существует единственный исполнитель, то матрицу можно представить в виде однозначного решения, т.е., для любого вида работ wi существует и единственен исполнитель работ ej: ∀wi ∃ ej (1).
Данный алгоритм хорошо работает, когда одну и ту же работу выполняет единственный исполнитель и отсутствует географическая привязка к исполнителю. Если эти условия не выполняются, то возникает неопределённость, вызванная тем, что одной и той же работе соответствует различные исполнители.
Соответственно, для любого вида работ wi существует n-количество исполнителей решение (1) принимает вид: ∀wi ∃ ej1, ej4, …, ejn (2).
Дальнейший путь развития алгоритма вариативен и зависит от причин возникновения различных исполнителей на выполнение одной работы.
В первом случае это может быть вариант, когда за каждым из исполнителей закреплен некая зона ответственности. В этом случае для каждого исполнителя создается геозона сферы ответственности. После формирования геозоны исполнителей, алгоритм определения исполнителей работает по следующей схеме:
1. В первую очередь в бинарной матрице формируется формула (2).
2. Геопривязка инцидента накладывается на геозоны ответственности и получаем однозначный выбор исполнителя.
Более распространённым вариантом является ситуация, когда выполнить одну и ту же работу могут несколько исполнителей и необходимо определить свободного. В этом случае добавим в созданную ранее матрицу дополнительный столбец t, заполнив его значениями времени, необходимыми на выполнение работы:
Таблица 2.
Матрица выбора, включающая время устранения
|
t |
e1 |
e2 |
…. |
ej |
w1 |
t1 |
1 |
0 |
|
0 |
w2 |
t2 |
0 |
1 |
|
0 |
… |
|
|
|
|
|
wi |
ti |
0 |
0 |
|
1 |
В этом случае процесс определения балансодержателя происходит по массиву, обновляемому в процессе работы алгоритма:
1. При запуске системы формируется матрица на основании матрицы 2, но значения ячеек уже представлены не в бинарном виде, а в виде даты и времени.
2. Если значение ячейки в текущий момент времени равно нулю, то оно заполняется значением времени возникновения инцидента с прибавлением срока устранения.
3. При возникновении аналогичного инцидента поиск осуществляется уже с учетом, того, что значения ячеек ненулевые и из массива решений (2), выбирается то значение ej, у которого значение элемента ij минимально, либо нулевое.
Дальнейшее развитие алгоритма зависит от требований к качеству устранения инцидента:
1. Обеспечение максимальной эффективности исполнителей
2. Оперативность реагирования на возникшие проблемы.
Максимальная эффективность производства достигается при 90–100% использовании производственных мощностей [4, с.99]. Реализацию максимальной загруженности возможно обеспечить равномерным распределением объемов работы за счет усложнения функции выбора, сделав ее зависящей не только от значения элемента ij, но и общего времени, затраченного на работу.
Во втором случае, когда необходима большая оперативность, в момент возникновения инцидента формируется дополнительная строка со значением времени, которое необходимо исполнителю для достижения места аварии tj и в этом случае исполнитель выбирается тот, у которого сумма элементов ij+tч минимальна.
В ходе выполнения работы была исследована предметная область – деятельность предприятий комплекса городского хозяйства по устранению инцидентов, возникающих на объектах балансовой принадлежности. В результате исследования был разработан универсальный алгоритм, позволяющий однозначно определить исполнителя инцидента, на основании предварительно созданной бинарной матрицы. Также рассмотрены дальнейшие варианты развития алгоритма, с учетом взаимоисключающих факторов максимальной эффективности работы и необходимости быстрого реагирования.