ТЕМА 4. Имитационное моделирование План лекции: 1. Применение имитационного моделирования 2. Преимущества и недостатки имитационного моделирования 3. Основные принципы имитационного моделирования 4. Структура имитационных моделей 5. Имитационное моделирование и системы массового обслуживания. 1. Применение имитационного моделирования Имитационное моделирование (симуляция) – это распространенная разновидность аналогового моделирования, реализуемого с помощью набора математических средств, специальных компьютерных программ-симуляторов и особых IT, позволяющих создавать в памяти компьютера процессы-аналоги, с помощью которых можно провести целенаправленное исследование структуры и функций реальной системы в режиме ее «имитации», осуществить оптимизацию некоторых ее параметров. Имитационная модель должна отражать логику и закономерности поведения моделируемого объекта во времени (временная динамика) и пространстве (пространственная динамика). Имитационная модель создается: для управления сложными бизнес-процессами, чтобы определить их характерные особенности; при проведении экспериментов над объектами в экстренных ситуациях, связанных с рисками, в случаях, когда натуральное моделирование нежелательно или невозможно. Типовые примеры имитационных моделей: Управление размещением предприятий, оказывающих однородные услуги; 1 Управление процессом реализации инвестиционного проекта на различных этапах его жизненного цикла с учетом возможных рисков; Прогнозирование финансовых результатов деятельности предприятия; Моделирование процессов логистики для определения временных и стоимостных параметров; Бизнес-реинжениринт несостоятельного предприятия (изменение структуры и ресурсов); Анализ работы автотранспортных предприятий; Моделирование обслуживания клиентов предприятиями сферы услуг; Модели работы информационных систем и сложных вычислительных систем (аналоги с устройствами обслуживания клиентов); И т.д. 2. Преимущества и недостатки имитационного моделирования Применение имитационных моделей дает множество преимуществ: Стоимость. Например, сокращение числа рабочих мест в некой организации может привести к снижению качества обслуживания, а затем и к потере клиентов. Чтобы принять верное решение в подобной ситуации можно применить имитационное моделирование, что позволило бы спрогнозировать результаты каких-либо действий в компании. При этом затратами будут являться только стоимости программного обеспечения и некоторых специальных услуг. Время. В реальном времени эффективность использования какого-либо оборудования или открытие, например, каких-нибудь новых дочерних предприятий может занять очень много времени (месяцы, годы). Имитационная модель же способна вывести наиболее вероятный исход таких действий за несколько минут (возможно, часов). Повторяемость. В настоящее время организации различных типов должны очень быстро реагировать на всяческие, даже незначительные 2 изменения на рынке. От этого может зависеть их дальнейшее развитие, а может даже и существование в принципе. Например, спрос на какую-либо продукцию. Организация может вложить слишком много средств в продукт, который затем никто не будет покупать. Это может привести к разорению фирмы. Имитационная модель, несомненно, может помочь избежать этого путём проведения огромного количества экспериментов с различными параметрами, чтобы выяснить, что лучше сделать, чтобы избежать неблагоприятных моментов и принять верное решение. Точность. Имитационное моделирование даёт возможность изобразить конструкцию системы и её процессы в непосредственном виде, избегая применения форму и математических зависимостей. Наглядность. Она способна визуализировать процессы работы системы, схематично изобразить её структуру и преподнести в графическом виде результаты. С помощью таких возможностей гораздо проще показать полученный вариант решения какой-нибудь задачи и разъяснить его клиенту или коллегам. Универсальность. С помощью имитационного моделирования можно справиться задачами их разных сфер производства, финансов, здравоохранения и прочих. В каждой ситуации модель имитирует, воссоздает реальную жизнь и даёт возможность осуществлять неограниченно много экспериментов без воздействия на реальные объекты. Имитационное моделирование имеет ряд недостатков: Даже если не обращать внимания на то, что на создание имитационной модели может потребоваться много времени и сил, никто не может гарантировать, что полученная модель даст ответы на все вопросы. Не существует никакого метода для доказательства того, что модель работает точно так же как и реальная модель. Моделирование, можно сказать, основано на многократных повторениях последовательностей, которые в свою очередь основаны на генерации случайных чисел, 3 воссоздающих наступление разных ситуаций. Стабильно работающая система при соединении неудачных событий может выйти из-под контроля. Создание моделей может занять от часа до нескольких лет: всё зависит от того, какую систему мы хотим промоделировать. Моделирование не может с такой точностью как математический анализ воссоздать систему, так как оно основано на генерации случайных чисел. Если есть возможность представить систему с помощью математической модели, то лучше сделать так. Сложная модель может потребовать много компьютерного времени для проведения «прогонов». Недостатком имитационного моделирования до сих пор является то, что нет каких-то определённых стандартов. Поэтому может получиться так, что если одну и ту же реальную модель воссоздают разные аналитики, то результатом могут оказаться абсолютно разные модели. 3. Основные принципы имитационного моделирования Принципы имитационного моделирования совпадают с принципами системных исследований и моделирования вообще: 1 Принцип информационной достаточности. При полном отсутствии информации об исследуемой системе построение ее модели невозможно. При наличии полной информации о системе ее моделирование лишено смысла. Существует некоторый критический уровень априорных сведений о системе (уровень информационной достаточности), при достижении которого может быть построена се адекватная модель. 2 Принцип осуществимости. Создаваемая модель должна обеспечивать достижение поставленной цели исследования с достижение поставленной цели исследования с вероятностью, существенно отличающейся от нуля, и за конечное время. Обычно задают некоторое пороговое значение Рy вероятности достижения цели моделирования Р(1), а также приемлемую 4 границу t времени достижения этой цели. Модель считают осуществимой, сели может быть выполнено условие P(t)>Py. 3 Принцип множественности моделей. Данный принцип, несмотря на его порядковый номер, является ключевым. Речь идет о том, что создаваемая модель должна отражать в первую очередь те свойства реальной системы (или явления), которые влияют на выбранный показатель эффективности Соответственно при использовании любой конкретной модели познаются лишь некоторые стороны реальности. Для более полного ее исследования необходим ряд моделей, позволяющих с разных сторон и с разной степенью детальности отражать рассматриваемый процесс. 4 Принцип агрегирования. В большинстве случаев сложную систему можно представить состоящей из агрегатов (подсистем), для адекватного математического описания которых оказываются пригодными некоторые стандартные математические схемы. Имитационное моделирование реализуется посредством набора математических инструментальных средств, специальных компьютерных программ и приемов, позволяющих с помощью компьютера провести целенаправленное моделирование в режиме «имитации» структуры и функций сложного процесса и оптимизацию некоторых его параметров. Набор программных специфику системы средств и приемов моделирования - моделирования специального определяет программного обеспечения. В отличие от других видов и способов математического моделирования с применением ЭВМ имитационное моделирование имеет свою специфику: запуск в компьютере взаимодействующих вычислительных процессов, которые являются по своим временным параметрам - с точностью до масштабов времени и пространства - аналогами исследуемых процессов. 4. Структура имитационных моделей 5 В самом общем виде структуру модели можно представить математически в виде E = f(xi;yj), где Е – результат действия системы; xi – переменные и параметры, которыми мы можем управлять; уj – переменные и параметры, которыми мы управлять не можем; f – функциональная зависимость между хi и уj которая определяет величину Е. Такое упрощение полезно тем, что оно показывает зависимость функционирования системы как от контролируемых, так и от неконтролируемых переменных. Каждая модель представляет собой, вообще говоря, некоторую комбинацию таких составляющих, как: – компоненты, – переменные, – параметры, – функциональные зависимости, – ограничения, – целевые функции. Под компонентами мы понимаем составные части, которые при соответствующем объединении образуют систему. Иногда компонентами считаются также элементы системы или ее подсистемы. Система определяется как группа, или совокупность объектов, объединенных некоторой формой регулярного взаимодействия или взаимозависимости для выполнения заданной функции. Компоненты суть объекты, образующие изучаемую систему. Параметры – величины, которые оператор, работающий на модели, может выбирать произвольно, в отличие от переменных, которые могут принимать только значения, определяемые видом данной функции. Можно сказать, что параметры, после того как они установлены, являются постоянными величинами, не подлежащими изменению. В модели системы различают переменные двух видов -экзогенные и эндогенные. Экзогенные 6 переменные называются также входными; это значит, что они порождаются вне системы или являются результатом воздействия внешних причин. Эндогенными переменными называются переменные, возникающие в системе или в результате воздействия внутренних причин. Эндогенные переменные также называются переменными состояния (когда они характеризуют состояние или условия, имеющие место в системе) либо выходными переменными (когда речь идет о выходах системы). Статистики иногда называют экзогенные переменные независимыми, а эндогенные зависимыми. Функциональные зависимости описывают поведение переменных и параметров в пределах компонента или выражают соотношения между компонентами системы. Эти соотношения, или операционные характеристики, по своей природе являются либо детерминистскими, либо стохастическими. Детерминистские соотношения – это тождества или определения, которые устанавливают зависимость между определенными переменными или параметрами в тех случаях, когда процесс на выходе системы однозначно определяется заданной информацией на входе. В отличие от этого стохастические соотношения представляют собой такие зависимости, которые при заданной входной информации дают на выходе неопределенный результат. Оба типа соотношений обычно выражаются в форме математического уравнения, которое устанавливает зависимость между эндогенными переменными (переменными состояния) и экзогенными переменными. Обычно эти соотношения можно строить лишь на основе гипотез или выводить с помощью статистического или математического анализа. Ограничения изменения значений представляют переменных собой устанавливаемые пределы или ограничивающие условия распределения и расходования тех или иных средств (энергии, запасов, времени и т. п.). Они могут вводиться либо разработчиком (искусственные ограничения), либо самой системой вследствие присущих ей свойств 7 (естественные ограничения). Целевая функция, или функция критерия, – это точное отображение целей или задач системы и необходимых правил оценки их выполнения. Акоф и Сасненн указывают на два типа целей: сохранение и приобретение. Цели сохранения связаны с сохранением или поддержанием каких-либо ресурсов (временных, энергетических, творческих и т. д.) или состояний (комфорта, безопасности, уровня занятости и т. д.). Цели приобретения связаны с приобретением новых ресурсов (прибыли, персонала, заказчиков и т. п.) или достижением определенных состояний, к которым стремится организация или руководитель (захват части рынка, достижение состояния устрашения и т.п.). Выражение для целевой функции должно быть однозначным определением целей и задач, с которыми должны соразмеряться принимаемые решения. Словарь Вебстера определяет понятие «критерий» как «мерило оценки, правило или вид проверки, при помощи которых составляется правильное суждение о чем-либо». Это четкое и однозначное определение критерия очень важно по двум причинам. Вопервых, оно оказывает большое влияние на процесс создания модели и манипулирования с ней. Во-вторых, неправильное определение критерия обычно ведет к неправильным заключениям. Функция критерия (целевая функция) обычно является органической составной частью модели, и весь процесс манипулирования с моделью направлен на оптимизацию или удовлетворение заданного критерия. Можно теперь сформулировать конкретные критерии, которым должна удовлетворять хорошая модель. Такая модель должна быть: – простой и понятной пользователю, – целенаправленной, – надежной (в смысле гарантии от абсурдных ответов), – удобной в управлении и обращении, – полной с точки зрения возможностей решения главных задач, – адаптивной, позволяющей легко переходить к другим модификациям или обновлять данные, – допускающей постепенные изменения в том смысле, что, будучи вначале простой, она может во взаимодействии с пользователем становиться все более сложной. 8 5. Имитационное моделирование и системы массового обслуживания. В системе массового обслуживания каждая заявка проходит несколько этапов: 1) появление заявки на входе в систему; 2) ожидание в очереди; 3) процесс обслуживания, после которого заявка покидает систему. Первый и третий этап характеризуются случайными величинами. Появление заявок: Обычно заявки появляются в заданном темпе (например, два клиента в час или четыре грузовика в минуту). В этом случае для его характеристики используют дискретное распределение Пуассона: где р (х) - вероятность поступления х заявок в единицу времени; х - число заявок в единицу времени; - среднее число заявок в единицу времени (темп поступления заявок). Характеристики очереди: При моделировании очереди нужно учесть: Длину очереди; Правило обслуживания (например, FIFO (First In, First Out — «первым пришёл — первым ушёл»), или очередь с приоритетами); В более сложных случаях, можно моделировать извлечение заявки из очереди без обслуживания, когда время ожидания превысило определенный уровень. Обслуживание заявок: Конфигурация системы обслуживания: • Одноканальная или многоканальная система обслуживания; 9 • Однофазное или многофазная система обслуживания; • Случайное или детерминированное время обслуживания. Если время обслуживания является случайной величиной, часто оно подчиняется экспоненциальному закону распределения: –t • F(t) = p(< t) =1 – е , где р ( < t) - вероятность того, что фактическое время обслуживания заявки не превысит заданной величины t; • - среднее число заявок, обслуживаемых в единицу времени. Модели массового обслуживания: • Модель А - модель одноканальной системы массового обслуживания с пуассоновским входным потоком заявок и экспоненциальным временем обслуживания. • Модель В - многоканальная система обслуживания. В многоканальной системе для обслуживания открыты два канала или более. Предполагается, что клиенты ожидают в общей очереди и обращаются в первый освободившийся канал обслуживания; • Модель С - модель с постоянным временем обслуживания; • Модель D - модель с ограниченной популяцией; • Модель Е - модель с ограниченной очередью. Модель отличается от предыдущих тем, что число мест в очереди ограничено. В этом случае заявка, прибывшая в систему, когда все каналы и места в очереди заняты, покидает систему необслуженной, т.е. получает отказ. 10