Имитационное моделирование в консалтинге
ВЫ УЗНАЕТЕ:
- что такое имитационное моделирование, что оно дает и где может быть использовано;
- какие существуют инструменты имитационного моделирования;
- как применяется имитационное моделирование для решения задач в консалтинговых проектах.
АВТОР
Левон Владимирович Антонян канд. физ.-мат. наук, руководитель центра компетенций по экономико-математическим методам консалтинговой компании «А ДАН ДЗО» (Москва)
ЧТО ТАКОЕ ИМИТАЦИОННОЕ МОДЕЛИРОВАНИЕ?
Математические модели, широко применяемые в консалтинговых проектах, можно условно разделить на два класса: аналитические и имитационные.
Аналитические модели описывают поведение моделируемого объекта (системы, процесса) алгебраическими, дифференциальными и другими уравнениями (системами уравнений), которые решаются теми или иными (явными или неявными) методами.
Имитационное моделирование основано на воспроизведении (имитации) поведения моделируемого объекта во времени. Обычно это делается на компьютерах путем имитации элементарных событий (как правило, с помощью генераторов случайных чисел), меняющих состояние объекта, с сохранением логической взаимосвязи и последовательности этих событий. Имитационную модель обычно «проигрывают» многократно, что позволяет перебирать различные возможные комбинации значений входных параметров и получать статистически надежные прогнозы поведения моделируемого объекта. К имитационному моделированию обычно прибегают тогда, когда аналитические методы решения поставленной задачи либо требуют значительных ресурсов, либо вовсе отсутствуют, а эксперименты с реальными объектами или невозможны, или слишком дороги, или опасны. Для примера рассмотрим простейшую систему массового обслуживания (СМО), пусть это будет парикмахерская. В СМО поступает поток заявок (клиентов парикмахерской), которые обслуживаются одним или несколькими каналами обслуживания (парикмахерами). При этом предполагается, что каждая заявка либо сразу выполняется, либо (если все каналы заняты) ставится в очередь, либо (в случае СМО с отказами) покидает систему. Нетрудно привести примеры показателей функционирования СМО, которые могут представлять интерес: общее число заявок в системе, число обслуживаемых заявок, число заявок в очереди (длина очереди), коэффициенты загрузки и простоя каналов обслуживания, производительность системы (среднее число заявок, выполняемых в единицу времени) и т. д. Однако, чтобы определить состояние СМО в любой момент времени, вполне достаточно одного показателя: общего числа заявок в системе. При этом переход системы из одного состояния в другое может происходить или при поступлении новой заявки (тогда число заявок в системе увеличивается на единицу), или при завершении обслуживания одной из заявок (и тогда число заявок уменьшается на единицу). Аналитический подход к поставленной задаче состоит в том, что вводятся в рассмотрение вероятности состояний системы как функции времени и относительно этих неизвестных функций составляется система дифференциальных уравнений (так называемых уравнений Колмогорова). Из дифференциальных уравнений выводятся уже алгебраические уравнения относительно так называемых предельных вероятностей состояний (это уже не функции времени, а конкретные числа — пределы вероятностей состояний при стремлении времени к бесконечности). Решение получающейся системы алгебраических уравнений при некоторых дополнительных предположениях, касающихся потоков входящих и обслуженных заявок, оказывается возможным. Зная предельные вероятности состояний, можно определить средние (за довольно большой промежуток времени) значения вышеперечисленных показателей. Проблема аналитического подхода состоит в том, что в мало-мальски сложных случаях получающиеся системы уравнений оказываются (если их удается составить!) не решаемыми ни аналитическими, ни любыми другими методами, и тогда применению имитационного метода практически не остается альтернативы. Вернемся к примеру простейшей СМО (парик махерской) для описания сущности имитационного метода, который сводится к последовательному моделированию переходов системы из одного состояния в другое. Для этого надо первым делом выбрать некоторое начальное состояние. Пусть в начальном состоянии заявки в системе отсутствуют (парикмахерская только открылась, клиентов нет). Затем надо смоделировать время появления первой заявки (прибытия первого клиента) как случайной величины с заданным (к примеру, показательным) законом распределения. Это делается с помощью генератора случайных чисел. Таким образом, моделируется переход из начального состояния в состояние с одной заявкой в системе. Аналогичным образом моделируется время появления последующих заявок. И также (но со своим законом распределения) моделируется время обслуживания заявок.
Процесс моделирования завершается либо по истечении отведенного на него (компьютерного) времени, либо, например, по завершении обслуживания заданного числа заявок. Результатом процесса моделирования является последовательность состояний моделируемой системы:
S0 → S1 → S2 → … → SN .
При этом искомые показатели функционирования моделируемой системы (число заявок в системе, число занятых каналов, длина очереди и т. д.) рассчитываются как их средневзвешенные значения по всей полученной последовательности состояний, где в качестве весов берутся интервалы времени между последовательными состояниями. И, как обычно, статистическая надежность результатов расчетов напрямую зависит от объема выборки (т. е. от числа состояний N).
ЧТО ДАЕТ ИМИТАЦИОННОЕ МОДЕЛИРОВАНИЕ
Имитационное моделирование применимо к самым разнообразным объектам и процессам в сферах материально-технического снабжения, производства, торговли, технического обслуживания, денежного обращения и многих других.
В частности, в производственных и логистических системах имитационное моделирование позволяет выявлять и количественно оценивать:
• загрузку и простои персонала, рабочих мест, техники и оборудования, складских мощностей и буферов;
• длину очередей, «узкие места» и возможные варианты их «расширения»;
• реальную производительность системы в целом и ее отдельных составляющих с учетом простоев, очередей и «узких мест»;
• различные варианты повышения производительности (такие как оптимизация объемов и очередности производства партий продукции различного сортамента, сокращение времени переналадки и технического обслуживания оборудования, переоснащение рабочих мест и др.).
Часто, если надо определить потребность в персонале и производственных мощностях, возникает искушение ограничиться простыми аналитическими расчетами, основанными на балансе рабочего времени. Однако во многих случаях подобные балансовые расчеты оказываются недопустимо грубыми, причем в первую очередь из-за игнорирования вынужденных простоев, которые могут быть обусловлены, в частности, как возможным отсутствием тех или иных необходимых ресурсов, так и неравномерным распределением объемов работ по времени. В подобных случаях имитационное моделирование опять-таки оказывается практически безальтернативным. А возможность многократного «проигрывания» имитационной модели позволяет варьировать такие ее входные параметры, как число и производительность различных ресурсов (персонала, техники и др.), подбирая оптимальные по тем или иным критериям варианты.
Стоит также отметить, что имитационное моделирование может быть использовано не только при проектировании системы «с нуля» или анализе перспективных вариантов ее развития (например, предусматривающих наращивание объемов производства), но и как инструмент анализа существующей системы «как есть». С помощью подоб ного анализа решаются такие задачи, как:
• оценка достоверности учетных данных по производительности и простоям персонала и оборудования, а также по доле брака;
• оценка потерь производительности, которые не фиксируются в отчетности (в частности, коротких простоев и потерь скорости);
• выявление невынужденных простоев.
Кроме того, имитационное моделирование может использоваться и как инструмент планирования производственных и иных процессов.
ИНСТРУМЕНТЫ ИМИТАЦИОННОГО МОДЕЛИРОВАНИЯ
История развития имитационного моделирования насчитывает приблизительно 60 лет. На начальном этапе программы для компьютерного моделирования разрабатывались на существовавших тогда универсальных языках программирования (Fortran, Algol и др.). Затем, уже в 60-е годы, стали появляться специализированные языки моделирования (GPSS, SOL, Simscript, CSMP360, CSL, Simula), некоторые из них (в частности, GPSS), развиваясь, сохранили актуальность и поныне.
Появление интегрированных средств имитационного моделирования относится в основном к 80-м годам. Однако значительный прогресс этого направления (с конца 80-х годов) был обусловлен перенесением программного обеспечения для имитационного моделирования на персональные компьютеры и дальнейшим использованием средств графического интерфейса для визуализации и анимации процессов моделирования.
Современные системы имитационного моделирования (например, AnyLogic и Tecnomatix Plant Simulation) обладают мощными средствами графического построения, отладки и «проигрывания» моделей, включая средства 2D- и 3D-визуализации. Однако, естественно, стоят они недешево. В то же время надо понимать, что ни один, даже самый мощный, инструмент не освобождает от необходимости разработки логической структуры модели (в терминах среды моделирования) и наполнения ее исходными данными (не только задания числовых параметров, но и, к примеру, выбора наиболее подходящих законов распределения различных случайных величин).
Учитывая все это, наша компания разработала собственный инструмент имитационного моделирования. Он является частью программного продукта под названием «Система планирования движения ресурсов», в который входит также инструментарий балансового (аналитического) моделирования. Интерфейс пользователя реализован в среде Microsoft Excel (с использованием как электронных таблиц Excel, так и встроенного языка программирования VBA), а процедура имитационного моделирования написана на языке Fortran и вызывается из отдельного файла — динамически загружаемой библиотеки (DLL).
Платформа Excel дает возможность пользоваться всеми «штатными» возможностями этой среды (в частности, производить требуемые дополнительные расчеты, строить графики, — в общем, адаптировать данный инструмент под нужды пользователя). Отсюда простота его освоения, ведь Excel многие хорошо знают. Fortran, в свою очередь, обеспечивает необходимое быстродействие, а также потенциальную возможность вызова процедуры моделирования практически из любого другого программного приложения, работающего под управлением Windows.
БАЗОВЫЕ ПРИНЦИПЫ НАШЕГО ПОДХОДА К ИМИТАЦИОННОМУ МОДЕЛИРОВАНИЮ
«Система планирования движения ресурсов», в которой реализован предложенный инструмент имитационного моделирования, предусматривает описание процесса функционирования моделируемой динамической системы в виде набора операций (выполняемых последовательно или параллельно), каждая из которых потребляет и производит определенные ресурсы. Каждый ресурс представляет собой определенный объект моделируемой системы с определенным статусом. В качестве объектов могут выступать машины и механизмы, люди, сырье и материалы, денежные средства и т. д. Статус объектов может характеризовать их состояние, местоположение, предназначение и пр. Каждая операция имеет свой количественный показатель — объем (выполнения) с определенной единицей измерения.
Для обозначения наличного количества ресурса в системе используется складской термин «остаток». Структура имитационной модели предусматривает возможность задания пределов изменения остатков каждого из ресурсов. Начальное состояние моделируемой системы определяется путем задания начальных уровней остатков ресурсов. Для привязки моделируемого процесса ко времени задаются также нормы времени выполнения операций, а точнее, закон распределения времени выполнения каждой операции (как случайной величины) и соответствующие параметры.
В системе планирования движения ресурсов реализована так называемая дискретно-событийная схема моделирования. Непрерывный процесс изменения состояния моделируемой системы представляется в виде последовательности дискретных шагов, в результате каждого из которых состояние системы меняется скачкообразно, но за ненулевой промежуток времени. При этом состояние изучаемой системы в каждый конкретный момент времени характеризуется выполненными объемами операций, текущим числом занятых каналов операций, а также текущими уровнями остатков ресурсов. Результатом выполнения шага моделирования является некоторое изменение состояния моделируемой системы.
Распределение ресурсов между операциямипроизводится в соответствии с их приоритетностью. Очередность выполнения шагов моделирования определяется временем завершения их выполнения. Условием завершения процесса моделирования является невозможность дальнейшего выполнения ни одной из операций. Процесс моделирования может «проигрываться» многократно для получения статистически надежных результатов.
ПРИМЕРЫ МОДЕЛЕЙ, построенных с применением собственного инструмента имитационного моделирования
С помощью описанного выше инструмента имитационного моделирования нами был решен ряд практических задач в нескольких консалтинговых проектах. Приведем два примера.
МОДЕЛЬ СКЛАДА (РАСПРЕДЕЛИТЕЛЬНОГО ЦЕНТРА).
Модель была разработана нашей компанией при проектировании крупного складского распределительного центра (РЦ) прежде всего для обоснования потребности в складских площадях, численности персонала, складской техники и механизмов, а также для выявления потенциальных «узких мест» и других возможных проблем.
Степень сложности построенной модели обусловливалась, в частности, необходимостью использования в РЦ различных видов транспорта (железнодорожного и автомобильного), различных видов упаковки грузов (коробов, паллет) и различных типов подъемно-транспортных механизмов (кранов, ричтраков, гидравлических тележек). Перечень основных бизнес-процессов верхнего уровня спроектированного РЦ (каждый из которых состоял из пяти или более операций) следующий:
• поступление товарно-материальных ценностей (ТМЦ) в железнодорожных вагонах (коробами/на ва лом);
• поступление ТМЦ в крупнотоннажных автомобилях (палле тами);
• поступление ТМЦ в автомобилях-длинномерах на открытую площадку;
• отгрузка ТМЦ в автомобили-длинномеры на открытой площадке;
• отгрузка ТМЦ в крупнотоннажные автомобили (паллетами);
• отгрузка ТМЦ в малотоннажные автомобили (коробами);
• внутренние перемещения ТМЦ.
Итогом имитационного моделирования работы РЦ явилась существенная корректировка результатов предварительно выполненных аналитических расчетов необходимой численности персонала, складских площадей, погрузочно-разгрузочной техники и других ресурсов.
Кроме того, были получены оценки таких важных показателей работы РЦ, как, например, простои транспортных средств в ожидании погрузки и разгрузки, которые не представлялось возможным оценить аналитически.
МОДЕЛЬ ЖЕЛЕЗНОДОРОЖНОЙ СТАНЦИИ.
Исходная задача состояла в анализе перспектив развития перегрузочной деятельности на одной крупной железнодорожной станции. Однако очень скоро стало понятно: для решения этой задачи придется анализировать и моделировать работу практически всей станции.
Оказалось, что процессы, непосредственно связанные с перегрузочной деятельностью, невозможно выполнять отдельно от других процессов, происходящих на станции, по крайней мере потому, что для тех и других используются одни и те же общие ресурсы — прежде всего пути и маневровые локомотивы. Кроме того, динамика перегрузочной деятельности зависит от своевременности подачи вагонов (как с грузом, так и порожних) наперегрузочные места, а это, в свою очередь, требует своевременного поступления вагонов на станцию. Так модель вышла за пределы моделируемой станции, вобрав в себя пути, связывающие ее с ближайшими станциями примыкания, а также сами станции примыкания и пункт пограничного и таможенного досмотра составов, пересекающих государственную границу. Дальнейших деталей здесь приводить не будем, но, чтобы была понятна размерность модели, отметим, что она включала свыше тысячи операций и также свыше тысячи единиц ресурсов. Принципиальное отличие модели железнодорожной станции от модели РЦ состояло в том, что станция не проектировалась «с нуля» — речь шла об анализе возможных вариантов ее развития. Поэтому практическое применение модели станции начиналось с ее верификации, т. е. с проверки ее адекватности ситуации «как есть». Это подразумевало моделирование работы станции в ситуации «как есть» и сопоставление результатов моделирования с имеющимися статистическими (отчетными) данными по работе станции. При этом следовало иметь в виду, что возможные отклонения результатов расчетов от статистики «как есть» могли быть обусловлены не недостатками модели, а неточностью входных данных, и начинать проверку надлежало именно с них.
После верификации модели можно было приступать к моделированию вариантов «как будет». Было проанализировано пять различных вариантов развития станции. В первую очередь был рассмотрен вариант сохранения ситуации «как есть» на предмет оценки имеющегося запаса мощностей и выявления «узких мест», которые могут образоваться при увеличении грузопотоков.
Далее обсуждались варианты оптимизации ситуации «как есть» путем использования резервов повышения производительности перегрузочных мест и перераспределения потоков грузов между ними. Наконец, были рассмотрены варианты строительства дополнительного перегрузочного места и сопутствующей инфраструктуры, причем как в пределах станции, так и на определенном удалении от нее.
Описанные примеры показывают, что метод имитационного моделирования позволяет моделировать производственно-логистические системы практически любой сложности. А получаемые с помощью этих моделей оценки важных характеристик моделируемых систем практически невозможно рассчитать аналитическими методами. Отсюда можно сделать вывод о безальтернативности метода имитационного моделирования для сложных консалтинговых проектов. Разработанный нами инструмент позволяет успешно решать подобные задачи высокой сложности.
Эффективное управление цепями поставок – первое правило сбыта | Методика выбора модели управления запасами