Научная статья на тему 'Реализация процесса имитации выполнения проектов со случайной длительностью отдельных работ'

Реализация процесса имитации выполнения проектов со случайной длительностью отдельных работ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
224
58
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
МОДЕЛЬ / СИСТЕМА ИМИТАЦИОННОГО МОДЕЛИРОВАНИЯ / УПРАВЛЕНИЕ ПРОЕКТАМИ / MODEL / SIMULATION SYSTEM / PROJECT MANAGEMENT

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Олейникова С.А.

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

IMPLEMENTATION OF IMITATION EXECUTION OF THE PROJECTS WITH A RANDOM DURATION OF ITS WORKS

The work is devoted to describing the approach used in the modeling system developed to simulate the complex projects, described by a set of mutually-dependent work with random duration. As a result, the algorithms based on the principle of special states are obtained. These algorithms allow to create a simulation system, the hallmark of which is to focus on the task of project management

Текст научной работы на тему «Реализация процесса имитации выполнения проектов со случайной длительностью отдельных работ»

УДК 004.94

РЕАЛИЗАЦИЯ ПРОЦЕССА ИМИТАЦИИ ВЫПОЛНЕНИЯ ПРОЕКТОВ СО СЛУЧАЙНОЙ ДЛИТЕЛЬНОСТЬЮ ОТДЕЛЬНЫХ РАБОТ

С.А. Олейникова

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

Ключевые слова: модель, система имитационного моделирования, управление проектами

1. Актуальность

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

Одним из вариантов решения данной проблемы является моделирование процесса выполнения проекта и получение статистической информации о необходимых временных характеристиках с целью ее дальнейшей обработки. Анализ существующих систем имитационного моделирования показал их недостаточную эффективность применительно к данному классу задач и, как следствие, обусловил разработку собственной системы, позволяющей смоделировать процесс выполнения всех работ проекта и получить статистическую информацию о его вероятностно-временных характеристиках [1, 2, 3].

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

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

Рассматривается задача построения системы имитационного моделирования, которая ориентирована на исследование задач управления проектами. Система преследует следующие две цели [4]:

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

- создание базы для проведения экспериментов, позволяющих исследовать вероятностно-временные характеристики как отдельных работ, так и проекта в целом.

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

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

3. Специфика общего подхода к моделированию проектов

В качестве основы будем использовать принцип особых состояний, описанный в [ 5, 6, 7]. Его суть заключается в том, что система должна выполнять какие-либо действия лишь в тот момент, когда меняется ее состояние. Это существенно экономит временные ресурсы в процессе моделирования. Для реализации данного принципа применительно к разрабатываемой системе необходимо [8]:

- определить множество всех событий $={5ь...,5п}, которые приводят к изменению состояний системы;

- определить действия A=A(S), которые следует выполнить при наступлении каждого из событий Sj, ] = 1,...,п.

Будем записывать все события из S в список. Для ускорения процесса моделирования будем хранить в списке лишь ближайшие (с точки зрения времени) события. Все произошедшие события будем из него удалять. Исходя из этого, общий алгоритм моделирования можно будет представить следующим образом (рис. 1).

Олейникова Светлана Александровна - ВГТУ, канд. техн. наук, доцент, e-mail: osa@vmail.ru

Рис. 1. Общий алгоритм прогона модели

Определим все состояния, в которых может находиться система. Поскольку необходимо имитировать выполнение комплекса взаимно -зависимых работ, то, исходя из математической постановки задачи, описанной в [9], к действиям, которые переводят систему в особые состояния, можно отнести следующие:

- : начата некоторая работа w1;

- б2: завершена некоторая работа w1;

- наступило некоторое событие пк.;

- б4: завершен проект.

Будем различать события s1 из множества S, изменяющие состояния системы, и события п из множества N описывающие начало и завершение работ.

В [9] было описано, что любая работа wk определяется двумя событиями :

- пк1 событие, описывающее начало работы;

- пк2 событие, описывающее завершение работы.

Но специфика рассматриваемой задачи такова, что одно и то же событие, как правило, означает начало или завершение целого комплекса работ. Проиллюстрируем это на примере сетевого графика, представленного на рис.2.

Рис. 2. Пример сетевого графика

Здесь вершины графа обозначают события (в квадратах отмечены номера событий); ребра графа соответствуют работам. Первое значение, закрепленное за ребром, означает длительность работы; второе - объем требуемых ресурсов.

Например, наступление события «6» означает, что завершены работы «2-6», «3-6» и «4-6».

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

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

4. Алгоритмизация реакции системы на наступления состояний

Опишем алгоритмы, позволяющие

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

Рассмотрим реакцию системы на наступление некоторого события п из множества N. Схема соответствующего алгоритма приведена на рис. 3.

Наступление события п1 означает, что можно приступать к выполнению всех работ wrw(nJ), начало которых описывается данным событием. Выполнение всех работ WJ одновременно может быть ограничено лишь объемом ресурсов, требующихся для их выполнения. В этом случае необходимо определить порядок выбора работ для исполнения. Предполагается, что за это будет отвечать подсистема планирования. В рамках разработки данных алгоритмов будем считать, что существует некоторый порядок выбора любых работ для исполнения.

Рис. 3. Реакция системы на наступление события

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

- множество «текущих» работ TW, т.е. множество работ, которым назначено текущее время как начало их выполнения;

- множество «перенесенных» работ PW, т.е. множество работ, выполнение которых перенесено на более поздний период из-за отсутствия необходимого объема ресурсов.

Поскольку при наступлении п1 можно выполнить не только работы, начинающиеся этим событием, но и работы, перенесенные с прошлых этапов (т.е. работы, которые в данный момент составляют множество PW), перед основной работой алгоритма эти два множества работ объединяются в единое множество Wтек. Далее работы по одной в порядке приоритетности извлекаются из Wтек и попадают или в множество TW либо в множество PW. После разделения всех работ на два множества необходимо создать событие «начать работу» для каждой работы из множества TW.

Алгоритм, описывающий реакцию системы на завершение работы, представлен на рис.4.

Рис. 4. Реакция системы на завершение работы

Отличие реакции на состояние «окончание работы» от состояния «наступление события» заключается в том, что по окончании работы можно выполнить лишь работы из множества перенесенных работ (если позволяют ограничения на ресурсы). Другим отличием является освобождение всех ресурсов, которые были использованы для данной работы.

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

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

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

5. Пример работы разработанных алгоритмов

Проиллюстрируем работу описанных выше алгоритмов на примере проекта, сетевой график которого представлен на рис.2. Предполагается, что длительности всех работ являются случайными величинами, а на графе представлены лишь наиболее вероятные их значения. Поскольку определение длительностей не является предметом рассмотрения в данной работе, детальное описание математического аппарата, позволяющего сгенерировать время выполнения работ, здесь не приводится. Более подробно оно описано в [10].

Пусть система располагает объемом ресурсов, равным 15. Тогда в начальный момент времени можно выполнить работы (1-2), (1-3) и (1-4). Следовательно, начальный список состояний будет следующим (табл. 1).

Таблица 1

Список в начальный момент времени

время Состояние

0 начата работа 1-2

0 начата работа 1-3

0 начата работа 1-4

Согласно алгоритму, представленному на рис. 1 , система имитационного моделирования будет последовательно выполнять реакции на состояния -начало работы. Как было описано выше, для этого необходимо изменить объем доступных ресурсов и определить длительность работы. Пусть, без ограничения общности, для работы (1 -2) сгенерировалось время 5.8; для работы (1-3) - 3.9; для работы (1-4) - 6.7. Таким образом, после обработки начальных событий получим

следующий список (табл. 2).

Таблица 2

Список после этапа 1

время Событие

3,9 завершена работа 1-3

5,8 завершена работа 1-2

6,7 завершена работа 1-4

Поскольку список не пуст, система ищет запись с минимальным временем и обрабатывает реакцию на него. Ближайшее событие, изменяющее состояние системы - это «завершена работа 1-3». Следовательно, будет выполнен алгоритм, приведенный на рис. 4. Согласно данному алгоритму, в первую очередь освободится 6 единиц ресурсов. Далее будет осуществлена проверка, определяющая, наступило ли событие с номером 3 из множества S. Данная проверка даст положительный результат, поэтому будет запущен алгоритм, представленный на рис.3 . С точки зрения

взаимной зависимости работ, можно выполнить работы (3-5), (3-6) и (3-7). Однако, суммарный объем ресурсов, требуемый для их выполнения, не позволяет этого сделать. В этом случае необходимо воспользоваться значением свойства «очередность» для работ и определить те первоочередные для выполнения работы. Пусть подсистема планирования установила следующую очередность:

- работа «3-5» - очередность 1;

- работа «3-6» - очередность 2;

- работа «3-7» - очередность 3.

Работа «3-5» потребует 4 единиц ресурсов, что допустимо с учетом количества свободных ресурсов (6 единиц). Следовательно, в список попадет сообщение «начата работа 3-5», после чего будет удалено сообщение о работе 1-3. Таким образом, получим следующую коррекцию списка (табл. 3).

Таблица 3

Список после этапа 2

время Событие

3,9 Начата работа 3-5

5,8 завершена работа 1-2

6,7 завершена работа 1-4

Согласно данному списку, необходимо вызвать реакцию на начало работы 3-5. Пусть сгенерирована длительность этой работы, равная 1,8. Следовательно, в момент времени 5,7 работа 35 должна быть завершена. Список изменится следующим образом (табл. 4).

Таблица 4

Список после этапа 3

время Событие

5,7 завершена работа 3-5

5,8 завершена работа 1-2

6,7 завершена работа 1-4

Поскольку в списке наименьшее время 5,7, будет рассматриваться событие «завершена работа 3-5». В данном случае при вызове алгоритма, представленного на рис. 4, после освобождения ресурсов должна быть проверка, наступило ли событие под номером 5. Эта проверка даст отрицательный результат, поскольку работа 2-5 еще не выполнена. Следовательно, и запустится первоочередная работа из множества PW (это работа 3-6). Продолжая, таким образом, последовательно определять состояния,

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

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

Выводы

Целью работы являлась разработка комплекса алгоритмов, позволяющих выполнить

моделирование выполнения проектов, которые описываются множеством последовательно-параллельных работ со случайной длительностью [11-13]. Новизна заключается в использовании метода особых состояний в исследуемой предметной области, а также в определении реакции на каждое из событий, приводящих данную систему в особые состояния.

В результате были решены следующие задачи:

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

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

3. Приведен пример моделирования системы на основании разработанных алгоритмов.

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

Литература

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

1. Баженов Р.И., Лопатин Д.К. Об имитационном моделировании экономических процессов средствами специализированной программной среды // Молодой ученый. - 2014. - №4. - С. 88-92.

2. Титоренко, М.В. Об имитационном моделировании систем массового обслуживания в среде GPSS [Текст] / М.В. Титоренко, Р.И. Баженов // Nauka-Rastudent.ru. - 2015. - №11 (11). - С. 38.

3. Герасимов, Д.А. Анализ системы имитационного моделирования GPSS World [Текст] / Д.А. Герасимов, С.А. Олейникова // Информационные

технологии моделирования и управления. - 2007. -№3(37). - С. 339-343.

4. Олейникова С.А. Особенности системы имитационного моделирования для задач управления проектами со случайной длительностью выполнения работ [Текст] / С.А. Олейникова // Кибернетика и программирование. 2015. - № 2. - С.68-77. DOI: 10.7256/2306-4196.2015.2.14509.

5. Сирота А.А. Компьютерное моделирование сложных систем [Текст] / А.А. Сирота. - Воронеж: Изд-во Воронеж. гос. ун-та, 2006. - 248с.

6. Советов, Б.Я. Моделирование систем [Текст] / Б.Я. Советов, С.А. Яковлев. - М.: Высшая школа, 2001. -275с.

7. Аверилл М. Л. Имитационное моделирование [Текст] / М.Л. Аверилл, В.Д. Кельтон.- СПб.: Питер, 2004. - 846с.

8. Айвазян С. А. Прикладная статистика: Основы моделирования и первичная обработка данных [Текст] / С.А. Айвазян, И.С. Енюков, Л.Д. Мешалкин. М.: Финансы и статистика, 1983. - 471 с.

9. Олейникова, С.А. Математическая модель и оптимизационная задача составления расписания для мультипроектной системы с временными и ресурсными ограничениями и критерием равномерной загрузки [Текст] / С.А. Олейникова // Вестник Воронежского государственного технического университета. - 2013. -Т.9. - № 6.3. - С. 58-61.

10. ГОСТ Р ИСО 28640-2012 Статистические методы. Генерация случайных чисел. М: Стандартинформ, 2014. - 52 с.

11. Подвальный, С.Л. Многоальтернативные системы: обзор и классификация [Текст] / С.Л. Подвальный // Системы управления и информационные технологии. - 2012. - Т. 48. - № 2. - С. 4-13.

12. . Barabanov, A.V. Structural Modeling of Continuous Multi-Center Polymerization Processes [Text] / A.V. Barabanov, S.L. Podval'nyi // Automation and Remote Control. - 2012. - Т. 73. - № 7. С. 1265-1268.

13. Подвальный, С.Л. Модульная структура системы многоальтернативного моделирования процессов полимеризации [Текст] / С.Л. Подвальный, А.В. Барабанов // Вестник Воронежского государственного технического университета. - 2013. - Т. 9. - № 5-1. - С. 41-43.

Воронежский государственный технический университет

IMPLEMENTATION OF IMITATION EXECUTION OF THE PROJECTS WITH A RANDOM DURATION OF ITS WORKS

S.A. Oleinikova

The work is devoted to describing the approach used in the modeling system developed to simulate the complex projects, described by a set of mutually-dependent work with random duration. As a result, the algorithms based on the principle of special states are obtained. These algorithms allow to create a simulation system, the hallmark of which is to focus on the task of project management

Key Words: model, simulation system, project management

i Надоели баннеры? Вы всегда можете отключить рекламу.