Ю. Карпов - Иммитационное моделирование систем с AnyLogic 5 (1124147), страница 8
Текст из файла (страница 8)
Во многих случаях имитационное моделирование — зто единственный способ получить прелставление о повелении сложной системы и провести ее анализ. 3.2. Примеры задач, решаемых с помощью имитационного моделирования Имитационное моделирование может использоваться при принятии решений на стадиях проектирования и анализа производственных систем (например„конвейерных линий пли складских помещений), транспортных систем (автомагистралей, портов, метрополитена), различных организаций, прелоставляющих сервисы массового обслуживания (парикмахерских, центров обработки заказов по телефону, больниц, автозаправок, банков), социальных и финансовых систем и т.
п. Рассмотрим несколько примеров. 3.2.1. Система массового обслуживания с тремя устройствами обслуживания Рассмотрим простую систему, предоставляющую сервисное обслуживание— операционный зал банка. В банке есть лва менеджера, отвечающие за два различных типа операций: выдачу инвестиций и работу со счетом. К менеджерам в очереди стоят посетители. После обслуживания менеджером каждый клиент идет в кассу, получая либо сдавая леньги. Очередь в кассу общая. Цель молелирования такой системы может быть разной. Для банка можно с~авить задачу анализа оптимального размещения кресел для менеджеров. Часть 1 Общие вопросы имитационного моделирования Однако наиболее типичной целью исследования в подобных задачах массового обслуживания является оценка эг(т4ективнасти систелты, т.
е. нахождение числовых значений характеристик, описываюших качество обслуживания системой потока посетителей. Такими характеристиками является время, проведенное клиентом в банке, длина очереди, которую он отстоял, процент времени занятости обслуживающего персонала. Для поддержки принятия управленческих решений важно также уметь решать обратные задачи анализа: например, опрелелять минимальное количество обслуживающего персонала при ограниченной средней длине очереди клиентов. Клиенты приходят в банк обычно в случайные моменты времени. У каждого клиента свои вопросы по своему счету или по булушему кредиту, поэтому время обслуживания тоже случайно. Оплата в кассе занимает случайное время, поскольку один посетитель может приготовить точную сумму, а другому нужно дать сдачу.
Операционный зал банка является типичной системой лассового абслузкиватя (СМО). Такую систему можно представить моделью с небольшим числом типов абстрактных объектов: клиенты представляются заявками на обслуживание, а объекты, выполняютцне обслуживание (менеджеры, кассиры), представляются приборами, обрабатывающими заявки. Объекты типа "очередь" имитируют ожидание без обработки.
Структура имитационной модели, которая даст ответ на поставленные вопросы, должна отражать структуру реальной системы массового обслуживания: заявки (клиенты банка) генерируются (входят в систему), становятся в очереди к обслуживаюшим приборам, а после полного обслуживания покидают систему. Характерной особенностью СМО является стохастическая природа описывающих эти системы характеристик. Структура модели операционного зала банка в данных терминах имеет вид рис. 3.1. Рис. 3.1. Структура модели простой СМО На рис. 3.! генераторы заявок имитируют события прихода новых клиентов, которые для модели все одинаковы за исключением того, что каждый из клиентов будет иметь свою собственную историю обслуживания и ожи- Глава 3. Имитационное моделирование В главе 6 модель для анализа подобной СМО будет построена в среле Апу) оягс.
Структура молели приведена на рис. 3.2. Она будет, фактически, повторять рис. З.Н Эта структура будет собираться из элементов библиотеки Апу).обгс, содержащей типовые блоки: генераторы заявок, очереди, задержки и т. п. Задача моделирования при наличии такой библиотеки сводится к набору структуры системы из стандартных блоков, настройке параметров блоков и запуску модели на выполнение, что требует для разработки описанной ранее модели нескольких минут. Никаких знаний о методах построения датчиков случайных чисел, об организации списка событий, программирования для разработки и анализа таких систем не нужно. Конечно, организация сбора специализированных выходных данных и визуализация модели потребуют дополнительного времени.
5оцгсв Чсвовх „5егувгА вв'! ввв Щ ч' ат ггм Ровцв2 т 5егувгс 51 ЩЙУВП С~~',',6 — И" 5 Ф гхтейхкк впг 5ОСГ се1 $щ-'~п-и мн яу спг Рис. 3.2. Структура модели простой СМО из стандартных блоков библиотеки Апу1 оя1с дания в очередях. Поэтому имитирующие клиентов заявки могут хранить такую историю — моменты времени вхола в систему (порождения). начала и конца обслуживания и т. и. Очереди имитируют реальные очереди люлей. Обслуживающие приборы имитируют работу менеджеров и кассира. Ясно, что для оценки качества обслуживания в операционном зале банка не важны ни расположение обслуживаемого персонала, ни даже вид работы, которую выполняет конкретный служащий.
С точки зрения поставленной задачи (анализа эффективности) важно только время обслуживания, и именно этим отличаются различные обслуживающие приборы в этой модели. Поскольку время обслуживания случайно, приборы просто задерживают заявки на некоторый случайный период времени. Блок 'Зыход зпявок из системы" получает заявки и может подсчитать интегральные временные характеристики, описывающие историю обслуживания заявок в системе. 28 Часть!. Общие вопросы имитационного моделирования 3.2.2. Максимизация прибыли поставщика сервиса для мобильной связи В коммерческой деятельности имитационные модели часто помогают принять решение, позволяюшее максимизировать прибыль предприятия.
Рассмотрим следующую проблему. Поставшик сервиса лля мобильной связи выбирает оборулование автоматической телефонной станции и задается вопросом, сколько потребуется телефонных каналов лля получения максимальной прибыли? Подобная задача часто встречается у коммерческих компаний.
Например, справочная служба компании имеет несколько телефонных каналов, а дозвониться и получить справку очень трудно. Как следствие, компания теряет клиентов и, значит, воэможность увеличить количество продаж, уменьшаются товарооборот и прибыль компании. Если поставщик сервиса имеет телефонную станцию с малым числом каналов, то у него будет большое число неудовлетворенных абонентов. Сформулируем нашу проблему в случае поставшика сервиса более точно. Пусть правила тарифного плана таковы, что каждый обслуженный телефонный вызов приносит некоторый доход, а за каждый отклоненный вызов поставшик сервиса должен заплатить штраф.
Покупка оборудования АТС и содержание каждого канала обходятся в некоторую сумму, зависяшую от числа каналов АТС. Варьируя число каналов, можно найти то оптимальное их число, которое принесет максимальный доход. Аналитически проблему эту решить нельзя, поскольку все функции здесь неаналитические. Решение проблемы возможно с помощью оптимизации. которая использует имитационную модель лля нахождения значения заланного функционала при конкретных значениях параметров.
Рис. З.З. Структура модели оценки прибыли при предоставлении сервиса мобильной связи На рис. 3.3 представлена структура имитационной молели, с помошью которой решается эта проблема. Генератор заявок имитирует приход вызовов. Обслуживаюший прибор в данном случае может обслужить вызов, только Глава 3.
Имитационное моделирование если есть свободный ресурс (канал соединения). Блок "Ресурсы" имитирует наличие ограниченного числа ресурсов, это число можно задать параметром. Блок "Анализ" направляет поступившие вызовы либо на обслуживающий прибор, если есть свободный ресурс (канал), либо на выход из системы при отсутствии свободного канала. Все блоки рис.
3.3 также есть в библиотеке Апу(.оя(с, поэтому построение имитационной модели из таких блоков с настройкой их параметров займет у разработчика всего несколько минут. Для того чтобы определить зависимость прибыли от числа тУ каналов, нужно полсчитать стоимость покупки станции и содержания каналов, при моделировании подсчитать доход за все обслуженные вызовы в течение некоторого времени и штраф за все необслуженные вызовы за это время.
Изменяя параметр Ф имитационной модели, можно для каждого его значения получить возможную прибыль и выбрать наилучшее. оптимальное значение параметра. В Апу(.ой)с встроен оптимизатор ОргОпем — широко известный алгоритм поиска оптимума неаналитических функций (продукт фирмы Орттех, Ы(р://зевзя.ор((е(г.сот/рговвсЬ/), который автоматизирует описываемую процедуру. Поэтому в Алуштой(с достаточно просто выполняется поиск значений параметров модели, максимизируюших либо минимизирующих некоторый функционал при определенном множестве ограничений. В стиве 9 построена полная имитационная модель и решена задача максимизации прибыли поставщика сервиса для мобильной связи. На рис. 9.!7 показана работа оптимизатора ОргОцем при решении этой проблемы.
Первоначально выбранное значение числа каналов приводит к финансовым потерям поставщика сервиса в размере 0.3 у. е. каждую минуту. С помощью оптимизации, выполненной на основе имитационной модели, найдено оптимальное число каналов, дающее ему прибыль в 0.37 у. е. каждую минуту. 3.2.3. Модель роста рынка В статье (КМОО! приводится типичное высказывание менелжера крупной маркетинговой компании, у которого буквально 'раскрылись глаза" после того, как он с помощью имитационной модели проанализировал влияние процессов в своей компании на рост рынка ее продукции: "Мы даже не знали, насколько мы были слепы. Хорошо представлл» себе нтну собственнунз часть бизнеса, мы никогда не понимали, какое влияние наиш действия оказыванзт на другие русты".
Процессы, происходящие в природе и обществе, настолько взаимосвязаны, что их изучение по отдельности невозможно. Только изучение всей системы целиком со всеми петлями причинных связей может привести к корректному пониманию системы. Именно это является основой систелтой динамики — парадигмы исследования сложных систем как взаимосвязанных процессов. Системная динамика рекомендует описать сложную систему сетью Часть | Общие вопросы имитационного модели вания причинно-обратных связей ее процессов, а затем выполнить компьютерное моделирование и анализ этой сети (провести эксперименты типа "что-если "~ лля нахождения закономерностей развития системы.