ISSN 1992-6502 (P ri nt)_
2015. Т. 19, № 1 (67). С. 184-191
Ъыьмт QjrAQnQj
ISSN 2225-2789 (Online) http://journal.ugatu.ac.ru
УДК 004.94
Оценка эффективности управления производственным процессом с применением имитационного моделирования
на основе систем массового обслуживания
1 1 3
а. ф. Галиуллина , с. в. Сильнова , л. р. Черняховская
1 [email protected], 2 [email protected], 3 lrchern@yandex ги ФГБОУ ВПО «Уфимский государственный авиационный технический университет» (УГАТУ)
Поступила в редакцию 30 июня 2014 г.
Аннотация. Рассматривается применение имитационного моделирования на основе систем массового обслуживания (СМО) для оценки эффективности управления производственным процессом. Проведен обзор языков и инструментальных средств имитационного моделирования. Построен алгоритм моделирования СМО. Приведены результаты имитационного моделирования СМО производственного процесса в среде SimEvents (MATLab/Simulink). Сделано предложение по оптимизации производственного процесса по результатам имитационного моделирования.
Ключевые слова: имитационное моделирование; система массового обслуживания (СМО); производственный процесс.
Имитационное моделирование является широко применяемым методом моделирования деловых процессов в самых различных сферах и областях деятельности. Метод имитационного моделирования позволяет решать задачи исключительной сложности, обеспечивает имитацию любых сложных и многообразных процессов, с большим количеством элементов, отдельные функциональные зависимости в таких моделях могут описываться весьма громоздкими математическими соотношениями. Поэтому имитационное моделирование эффективно используется в задачах исследования систем со сложной структурой с целью решения конкретных проблем.
Имитационная модель содержит элементы непрерывного и дискретного действия, поэтому применяется для исследования динамических систем, когда требуется анализ узких мест, исследование динамики функционирования, когда желательно наблюдать на имитационной модели ход процесса в течение определенного времени.
Имитационное моделирование - это эффективный аппарат исследования стохастических систем, когда исследуемая система может быть подвержена влиянию многочисленных случай-
ных факторов сложной природы. Имеется возможность проводить исследование в условиях неопределенности, при неполных и неточных данных [1].
Наиболее широкое применение методика имитационного моделирования находит при исследовании систем массового обслуживания, представляющих собой системы, в которые в случайные моменты времени поступают заявки на обслуживание, при этом поступившие заявки обслуживаются с помощью имеющихся в распоряжении системы каналов обслуживания. Можно заметить, что за последние годы область применения математических методов теории массового обслуживания непрерывно расширяется и все больше выходит за пределы задач, связанных с «обслуживающими организациями» в буквальном смысле слова. Многие задачи автоматизации производства оказываются близкими к теории массового обслуживания: потоки деталей, поступающих для выполнения над ними различных операций, могут рассматриваться как «потоки заявок», ритмичность поступления которых нарушается за счет случайных причин [2]. В статье рассмотрено имитационное моделирование системы массового обслуживания на примере производственного процесса.
Работа поддержана грантом РФФИ 14-08-97023.
ОБЗОР ЯЗЫКОВ И ИНСТРУМЕНТАЛЬНЫХ СРЕДСТВ
ИМИТАЦИОННОГО МОДЕЛИРОВАНИЯ
В настоящее время имеется целый ряд программных инструментов, предназначенных для имитационного моделирования бизнес-процессов, их можно разбить на три категории: инструментарий имитационного моделирования, основанного на потоковых диаграммах, инструментарий динамического и дискретно-событийного моделирования.
Инструментарий имитационного моделирования, основанного на потоковых диаграммах, помогает описывать выполняемые функции и определять их последовательность. Модели, основанные на потоковых диаграммах, не зависят от методологии и наиболее просты в изучении. К сожалению, следствием легкости использования является ограниченность возможностей моделирования и анализа. Примерами инструментария имитационного моделирования подобного рода служат Process Charter и Optima.
Инструментарий динамического моделирования включает программные продукты аналогового моделирования, которые позволяют отображать динамику системы. Модели, созданные подобными продуктами, состоят из таких специфических для выбранной методологии логических структур, как уровни, стеки, потоки, преобразователи и соединители. Примеры: IThink, PowerSim, Bizagi.
Инструментарий дискретно-событийного имитационного моделирования является наиболее развитым и мощным инструментарием имитационного моделирования бизнес-процессов. Эти инструменты поддерживают моделирование потока объектов (продуктов) и предоставляют возможности анимации, что позволяет пользователю производить наблюдение за движением в системе потоковых объектов. Некоторые из подобных технологий обеспечивают даже возможности объектно-ориентированного моделирования, упрощающего разработку больших моделей бизнес-процессов. Примеры: ServiceModel,
SIMPROCESS.
Одним из наиболее удобных инструмен-тариев дискретно-событийного имитационного моделирования, в котором и было проведено моделирование СМО производственного процесса, является MATLab/Simulink, который включает в себя среду SimEvents.
Пакет MATLab/Simulink позволяет осуществлять исследование (моделирование) сложных динамических систем. Ввод параметров систем
производится в интерактивном режиме, путем графической сборки схемы соединений элементарных блоков, в результате чего получается модель исследуемой системы. Блоки, включаемые в создаваемую модель, могут быть связаны друг с другом, как по информации, так и по управлению. Тип связи зависит от типа блока и логики работы модели.
С помощью MATLab/Simulink автоматизируется наиболее трудоемкий этап имитационного моделирования - составление и решение сложных систем алгебраических и дифференциальных уравнений, описывающих заданную схему (модель).
Используя библиотеку блоков MATLab/ Simulink, представляющую собой набор визуальных объектов, можно собирать произвольные схемы. Из отдельных блоков можно получать требуемое число копий, которые, в свою очередь, можно индивидуально настраивать. При этом настройке подлежат как внутренние параметры блоков, так и внешние.
В пакете MATLab/Simulink имеется большой набор блоков, обеспечивающих при моделировании воздействия с разными функциональными и временными зависимостями, а также блоки получателей информации [3].
АЛГОРИТМ МОДЕЛИРОВАНИЯ СМО
Анализ СМО с помощью имитационных моделей позволяет исследовать сложные системы. При этом исследование СМО не сводится только к построению модели процессов ее функционирования. Важно, проанализировав работу СМО, сделать предложения по повышению эффективности ее работы.
Рассмотрим алгоритм моделирования СМО (рис. 1). Будем рассматривать модель М, предназначенную для исследования поведения системы массового обслуживания SMO на заданном интервале времени [0, TM], т.е. времени моделирования. В общем случае критерием интерпретации результатов моделирования является нестационарный случайный «-мерный процесс
p(t), 0 < t < TM. Полагаем, что состояние моделируемой системы SMO проверяется каждые A t временных единиц, т.е. используется «принцип A t». При этом вычисляют значения p(j A t), j = 0, к, критерия p(t). К критерию p(t) относятся время ожидания T , количество заявок в очереди Q, количество отказов S.
Таким образом, о свойствах случайного процесса р(1) судят по свойствам случайной
последовательности р(у А/), у = 0, к.
Процесс функционирования системы БМО на интервале [0, ТМ] моделируется ^-кратно с получением независимых реализаций
pi, г = 1,N вектора р. Работа модели на интервале [0, ТМ] называется прогоном модели.
На рис. 1, обозначено: 1=7; 3=]; К=к; Ы=Ы; Т=1; ВТ= АI; Р=р. В общем случае алгоритм моделирования СМО и фиксации и статистической обработки ее данных содержит три цикла.
Внутренний цикл (блоки 8-14,) позволяет
получить последовательность рг (/) = рг (уА/),
у = 0, к в моменты времени 1=0, Д^, кД=ТМ. Основной блок 12 реализует процедуру вычисления последовательности р1 (/) для элементов СМО и осуществляется оценка характеристик ее элементов. Именно в этом блоке имитируется процесс функционирования моделируемой системы массового обслуживания БМО на интервале времени [0, Тм].
Промежуточный цикл (блоки 4-16), в котором организуется ^-кратное повторение прогона модели, позволяющее после соответствующей статистической обработки результатов судить об оценках характеристик моделируемого варианта системы. В блоках 5 и 6 задаются время поступления заявок Тг и время обслуживания ТО. Окончание моделирования варианта системы массового облуживания БМО в данном случае определяется числом реализаций (блок 10), как это показано на схеме алгоритма. В этом цикле содержится блок 15, реализующий процедуру фиксации результатов моделирования элементов СМО по 7-му прогону модели р1 (/) .
Внешний цикл (блоки 1-19) охватывает оба предшествующих цикла и дополнительно включает блоки 1-3, 17-19, управляющие последовательностью моделирования вариантов системы массового обслуживания БМО. Здесь организуется поиск оптимальных структур, алгоритмов и параметров системы БМО, т. е. блок 17 обрабатывает результаты моделирования исследуемого к-го варианта системы массового обслуживания БМО[РК]. Блок 18 проверяет удовлетворительность полученных оценок характеристик процесса функционирования СМО р(к)(/) требуемым, т.е. осуществляется проверка того, найден ли оптимальный вариант СМО. В блоке 1 осуществляется изменение структуры, алгоритмов и параметров СМО на уровне установки пара-
метров системы для очередного ^го варианта СМО. Здесь в случае необходимости могут быть изменены следующие параметры:
• количество каналов С (одноканальная или многоканальная СМО);
• количество фаз F (однофазная или многофазная СМО);
• вид СМО V (СМО с ожиданием или с отказами);
• ограничения O.
Блок 13 реализует функцию выдачи результатов моделирования по каждому ^му варианту модели СМО.
РАЗРАБОТКА ИМИТАЦИОННОЙ МОДЕЛИ СМО ПРОИЗВОДСТВЕННОГО ПРОЦЕССА В СРЕДЕ SIMEVENTS (МАТЬЛБ / SIMULINK)
Рассмотрим работу токарного участка, на который с участка термообработки в среднем в 17 минут поступают детали, которые проходят токарную обработку в среднем в течение 20 минут. Затем они подвергаются токарной обработке на станках с ЧПУ, которая занимает в среднем 60 минут. Для равномерной работы задействованы 3 станка с ЧПУ.
Необходимо смоделировать работу участка в течение смены. Также необходимо определить статистические характеристики: количество обработанных деталей, средние длины очередей, время работы всех станков.
Выполним имитационное моделирование СМО при случайных значениях времени генерации заявок (деталей) и времени обслуживания заявок серверами (токарной обработки деталей на станках). Моделируем СМО, включающую следующие компоненты и моделирующие их блоки:
• источник заявок - блок формирования распределенных во времени сигналов, имитирующих последовательность поступающих на вход системы запросов на обслуживание (Time-Based Entity Generator);
• два накопителя - это блоки, реализующие дисциплину обслуживания заявок (FIFO
Queue);
• выходной переключатель - блок, разделяющий потоки заявок (Output Switch);
• четыре канала обслуживания - серверы (Single Server);
• три приемника обслуженных заявок (Entity Sink);
• четыре блока формирования временных интервалов, используемых в качестве времени обслуживания заявок в обслуживающем приборе (Event-Based Random Number);
• семь блоков визуализации процесса моделирования (Signal Scope);
• дисплей, отображающий количество сформированных заявок на обслуживание.
Схема структуры показана на рис. 2.
Рис. 2. Схема модели СМО
Моделируемая СМО имеет две фазы обслуживания. I фаза обслуживания - обработка на токарном станке, а II фаза обслуживания - обработка на токарном станке с ЧПУ. II фаза включает 3 канала обслуживания, т.к. на токарном участке задействованы 3 станка с ЧПУ. Заявки не получают отказ, а ожидают обслуживания в очередях (накопителях) каждой фазы обслуживания.
Таким образом, рассматривается многофазное многоканальное обслуживание с ожиданием.
Пусть заявки на обслуживание прибывают в систему с интенсивностью 0,06 (1 заявка в 17 минут). Среднее время обслуживания заявок сервером составляет 20 минут. Предположим, что в момент поступления заявки сервер свободен. Тогда обслуживание заявки начинается в этот же момент, т.е. в момент поступления заявки. Когда сервер завершает обработку текущей заявки, он освобождается и готов принять на обработку следующую заявку. При этом подразумевается приоритет обслуживания заявок First On, First Off (FIFO), согласно которому заявки обслуживаются по принципу «первым прибыл - первым обслужен». После окончания обслуживания заявка покидает систему.
Для каждого блока модели устанавливаем необходимые параметры, соответствующие требованиям моделируемой системы.
Отметим, что выходной переключатель Output Switch позволяет установить порядок обслуживания заявок серверами во II фазе. Этот блок имеет критерий переключения Switching criterion. Этот критерий может быть следующих видов:
• first port is not blocked - направление заявки осуществляется в первый порт, который не блокирован;
• equiprobable - равновероятностное распределение заявок по выходным портам;
• round robin - направление заявки на выходные порты по очереди;
• from signal port p - управление переключателем задается из внешнего порта p;
• from attribute - направление заявки на один из выходных портов переключателя зависит от свойств заявки.
Устанавливаем критерий переключения Switching criterion: первый порт, который не блокирован. Этот критерий в нашем случае наиболее подходящий, т.к. если в текущий момент какой-либо токарный станок с ЧПУ занят обработкой детали, то заявка (деталь) направляется на первый свободный токарный станок, который может принять деталь на обработку.
РЕЗУЛЬТАТЫ ИМИТАЦИОННОГО МОДЕЛИРОВАНИЯ
В меню рабочего окна модели устанавливаем время моделирования - 480 и нажимаем кнопку Start. Когда моделирование завершится, блоки Signal Scope откроют окна, содержащие графики.
Блок Signal Scope1 показывает процедуру прохождения заявок через накопитель (рис. 3). Из данного графика видно, что не все появляющиеся заявки сразу поступают на обслуживание, имеются заявки, которые накапливаются в очереди.
Рис. 3. Процедура прохождения заявок через накопитель
Блок Signal Scope2 показывает процедуру обслуживания заявок сервером (рис. 4). Горизонтальная ось времени показывает моменты, в которые заявки поступают на вход блока Single Server.
Рис. 4. Формирование времени обслуживания заявок на входе блока
Single Server
Блок Signal Scope3 показывает число заявок, находящихся в очереди и ожидающих обслуживания (рис. 5). Из графика видно, что ни одна заявка не находится в ожидании, т.е. все заявки обслужены.
Л
пк
ru
Рис. 6. Распределение заявок выходным переключателем Output Switch
Рис. 7. Формирование времени обслуживания заявок на входе сервера
Single Server] (а), Single Server2 (б), Single Server3 (в)
Блок Signal Scope4 показывает число заявок, направленных в выходной порт, т. е. на последующее обслуживание в один из трех серверов Single Server (рис. 6).
Как видно из графика, самым загруженным сервером (токарным станком с ЧПУ) является первый, менее загруженным - второй, а третий сервер - наименее загружен.
Блоки Signal Scope5, Signal Scope6, Signal Scope7 показывают процедуру обслуживания заявок серверами Single Serverl, Single Server2, Single Server3, соответственно (рис. 7).
На рис. 7 видно, что третий сервер (третий токарный станок с ЧПУ) практически не загружен.
Таким образом, в результате проведения имитационного моделирования работы токарного участка было зафиксировано следующее:
• в ходе моделирования сгенерировано 52 заявки (деталей, поступивших на токарную обработку);
• из сгенерированных 52 заявок 29 заявок накопилось в первой очереди, т.к. в момент их появления сервер был занят обработкой текущей заявки, а во второй очереди заявки не накапливались;
• из 23 заявок, каждая из которых прошла обслуживание первым сервером, т.е. токарным станком, во второй фазе 14 заявок было направлено на обслуживание первым токарным станком с ЧПУ, 7 заявок - вторым, 2 заявки - третьим, но при этом 2 заявки находились на обслуживании по одной у первого и второго токарного станка с ЧПУ в момент окончания заданного времени моделирования.
ПРЕДЛОЖЕНИЕ ПО ОПТИМИЗАЦИИ ПРОИЗВОДСТВЕННОГО ПРОЦЕССА ПО РЕЗУЛЬТАТАМ ИМИТАЦИОННОГО МОДЕЛИРОВАНИЯ
В качестве предложения по повышению эффективности работы токарного участка принято решение отказаться от третьего сервера (токарного станка с ЧПУ), т.к. он практически не загружен.
Запустив повторное имитационное моделирование, получим графики блоков Signal Scope.
Блок Signal Scopel, показывает процедуру прохождения заявок через накопитель (рис. 8). Как видно на графике, в очереди накапливаются заявки.
На графике блока Signal Scope2 показана процедура обслуживания заявок сервером (рис. 9).
в
Рис. 8. Процедура прохождения заявок через накопитель
¿0
30
20
10
■......1....... .......I........
100 200 300 400 500 600
Points: 23
Time
Рис. 9. Формирование времени обслуживания заявок на входе блока
Single Server
Блок Signal Scope3 показывает число заявок, находящихся в очереди и ожидающих обслуживания (рис. 10). Из графика видно, что две заявки находятся в ожидании.
Points: 25 Time
Рис. 10. Число заявок в очереди
Блок Signal Scope4, показывает число заявок, направленных в выходной порт, т.е. на последующее обслуживание в один из двух серверов Single Server (рис. 11). Как видно из графика, первый сервер более загружен, чем второй.
Блоки Signal Scope5, Signal Scope6 показывают процедуру обслуживания заявок серверами Single Serverl, Single Server2, соответственно (рис. 12). Из данного графика видно, что первый
сервер обслуживает в два раза больше заявок в отличие от второго.
ю
i
л г I h П Î
.
0 100 200 300 ¿00 500 600
Points: 23
Time
Рис. 11. Распределение заявок выходным переключателем Output Switch
300 Time
б
Рис. 12. Формирование времени обслуживания заявок на входе сервера:
а - Single Serverl; б - Single Server2
После удаления третьего станка и проведения повторного имитационного моделирования работы токарного участка было зафиксировано следующее:
• в ходе моделирования сгенерировано 47 заявок (деталей, поступивших на токарную обработку);
• из сгенерированных 47 заявок 23 заявки накопилось в первой очереди и 2 заявки - во второй, т. к. в момент их появления сервер был занят обработкой текущей заявки;
• из 23 заявок, каждая из которых прошла обслуживание первым сервером, т. е. токарным станком, во второй фазе 15 заявок было направлено на обслуживание первым токарным станком с ЧПУ, 8 заявок - вторым, но при этом 2
заявки находились на обслуживании по одной у каждого токарного станка с ЧПУ в момент окончания заданного времени моделирования.
Таким образом, в результате проведения данного имитационного моделирования видно, что при случайных значениях времени генерации заявок (деталей) и времени обслуживания заявок серверами (токарной обработки деталей на станках) загрузка станков является неравномерной. Наиболее загруженным оказывается первый станок, а третий станок, напротив, оказывается, практически незагруженным, вследствие чего для более эффективного использования мощностей предприятия было принято решение убрать его из токарного участка.
ЗАКЛЮЧЕНИЕ
Имитационное моделирование является хорошим методом моделирования производственного процесса, рассматриваемого как СМО, в данной статье представлены результаты моделирования работы токарного участка, включающего простые токарные станки и токарные станки с ЧПУ. Моделирование проведено в среде SimEvents системы визуально-ориентированного программирования MATLab/Simulink, которая по удобству графического пользовательского интерфейса, по обилию компонентов в множестве библиотек, разнообразию виртуальных средств регистрации и визуализации результатов моделирования выгодно отличается от других систем моделирования.
В результате в качестве предложения по повышению эффективности работы токарного участка было принято решение отказаться от третьего сервера, т. е. токарного станка с ЧПУ, так как он практически не загружен.
СПИСОК ЛИТЕРАТУРЫ
1. Лычкина Н. Н. Имитационное моделирование экономических процессов. М.: Академия АйТи, 2005. 164 с. [[ N. N. Lyckina, Simulation modeling of economic processes, (in Russian). Moscow: Akademiya IT, 2005. ]]
2. Вентцель Е. С. Теория вероятностей. М.: Академия, 2005. 576 c. [[ E. S. Wentzel, Probability theory, (in Russian). Moscow: Akademiya, 2005. ]]
3. Гультяев А. Визуальное моделирование в среде MATLAB. СПБ: Питер, 2000. 432 с. [[ A. Gultyaev, Visual modeling with MATLAB, (in Russian). St. Petersburg: Piter, 2000. ]]
ОБ АВТОРАХ
ГАЛИУЛЛИНА Альбина Фаритовна, асп. каф. технической кибернетики. Дипл. инж.-менеджер (УГАТУ, 2013). Готовит дисс. в обл. интел. инф. систем.
СИЛЬНОВА Светлана Валерьевна, доц. каф. технической кибернетики. Дипл. инж.-э/мех. (УАИ, 1993). Канд. техн. наук по авт. системам упр-я, упр-ю в соц. и экон. системах (УГАТУ, 1997). Иссл. в обл. моделир. и упр. произв. и обра-зоват. системами.
ЧЕРНЯХОВСКАЯ Лилия Рашитовна, проф. каф. технической кибернетики. Дипл. инж. эл. техники (УАИ, 1970). Д-р техн. наук по сист. анализу, упр. и обр. информ. (УГАТУ, 2004). Иссл. в обл. сист. анализа, интеллект. инф. систем, систем искусств. интеллекта.
METADATA
Title: Effectiveness evaluation of production process control
using simulation modeling based on queuing systems. Authors: A. F. Galiullina 1, S. V. Silnova 2,
L. R. Chernyakhovskaya3 Affiliation:
Ufa State Aviation Technical University (USATU), Russia. Email: 1 [email protected], 2 [email protected],
3 lrchern@yandex ru. Language: Russian.
Source: Vestnik UGATU (scientific journal of Ufa State Aviation Technical University), vol. 19, no. 1 (67), pp. 184-191, 2015. ISSN 2225-2789 (Online), ISSN 1992-6502 (Print). Abstract: The simulation modeling application based on queuing systems (QS) for effectiveness evaluation of the production process are considered. The review of simulation modeling languages and tools is done. The QS modeling algorithm is built. The results of QS simulation modeling of the production process using SimEvents (MATLab / Sim-ulink) are presented. The proposal for optimization the production process is done. Key words: simulation modeling; queuing system (QS); production process.
About authors:
GALIULLINA, Albina Faritovna, Postgrad. (PhD) Student, Dept. of Technical Cybernetics. Engineer of Quality Management (USATU, 2013).
SILNOVA, Svetlana Valerievna, Assistant Prof., Dept. of Technical Cybernetics. Dipl. engineer-electrician (Ufa Aviation Univ., 1993). Cand. of Tech. Sci. (USATU, 1977). CHERNYAKHOVSKAYA, Liliya Rashitovna, Prof., Dept. of Technical Cybernetics. Dipl. Electronics Engineer (Ufa Aviation Univ., 1970). Cand. of Tech. Sci. (USATU, 1977), Dr. of Tech. Sci. (USATU, 2004).