Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Проведение имитационного эксперимента в Арена

Поиск

 

Рассмотрим пример проведения имитационного эксперимента над моделью, созданной в среде Arena.

 

Пример 24. Швейная фабрика имеет цех на 50 рабочих мест, которые оборудованы швейными машинками. Когда машинка выходит из строя она заменяется на резервную и передается в наладочный цех для ремонта [24].

Параметры процесса представлены в таблице.

 

Параметр модели Значение
Срок безотказной работы машинки 157 часов, закон распределения – экспоненциальный
Время ремонта наладчиком швейной машинки математическое ожидание 7, отклонение 1, закон распределения - нормальный
Число наладчиков 3, 4, 5 (чел)
Число резервных машинок 3, 4

 

Цель исследования состоит в следующем: определить оптимальный режим протекания процесса (число наладчиков и число резервных машинок).

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

Данные для расчета затрат представлены в таблице.

 

Параметр Обозначение Значение
Зарплата наладчика z 3.75 $ в час
Аренда машинки a 25 $ в день
Убытки из-за простоя одного рабочего места v 20 $ в час
Число наладчиков n -
Число швейных машинок m -
Нагрузка рабочих мест (процент времени, когда швеи заняты) Nag -

 

Cуммарные затраты (C) определяем как:

 

C = Са+ Сz+ Сv.

Сюда входят затраты на аренду машинок Са, затраты на оплату труда наладчиков Сz и потери от простоя рабочих мест Сv. Все эти величины будем рассчитывать ориентируясь на один рабочий день – 8 часов.

Затраты на аренду машинок (Са):

 

Са= а * m

Затраты на зарплату наладчикам (Сz):

 

Сz=z * 8 * n

 

Убытки из-за простоев (Сv):

Сv=v * 8 * (1-Nag) * 50

 

Нам неизвестна только одна величина – процент простоя рабочих мест (1-Nag). Чтобы определить Nag, загрузку рабочих мест для каждого из возможных вариантов мы можем использовать имитационную модель.

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

Исследуемую систему можно представить в виде структурной схемы:

 

Реализуем модель в системе Arena.

В данном примере транзактом будет швейная машинка. 50+m швейных машинок будут введены в модель в момент времени 0, а затем будут циркулировать между модулями модели. То есть имеет место «замкнутая схема». Параметры модуля Create, который введет нужное число транзактов в модель, показаны на рисунке. На рисунке значение переменной m принято равным 3.

 

Граф модели показан на рисунке.

 

После создания транзакты-машинки отправляются в швейный цех, что представлено модулем типа Process с именем Work. «Обслуживание» машинки заключается в ее эксплуатации до тех пор, пока она не сломается. Одновременно может обслуживаться до 50 машинок. Используемый в ресурс – это швея.

 

 

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

Вышедшие из строя машинки направляются на ремонт, который описывается модулем Process с именем Naladka. Здесь может возникнуть очередь, если наладчики будут заняты.

 

 

 

После окончания ремонта машинки возвращаются в швейный цех и помещаются в резерв.

Ресурсы модели:

 

 

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

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

Для проведения расчетов нас интересует только стационарный режим. В системе Arena можно задать так называемый разогревочный (Warm Up) период, статистика за который не собирается.

 

 

Укажем, длину периода моделирования 10000 часов, при разогревочном периоде 2000 часов.

 

 

 

Для моделирования при каждом варианте необходимо менять:

- мощность ресурса naladchik;

- число вводимых в модель резервных машинок в модуле Create.

В результате можно получить загрузку рабочих мест швей. Фрагмент отчета по результатам моделирования показан на рисунке.

 

 

В данном случае, загрузка составляет Nag=0.984.

На следующем этапе была проведена постановка имитационного эксперимента. Цель эксперимента – проследить поведение системы при изменении исходных данных и выбор оптимальных параметров - числа наладчиков (n) и числа резервных швейных машинок (m).

План и результаты эксперимента приведены в таблице.

 

m n      
  97.79 % 98.42 % 98.59 %
  98.40 % 99.30 % 99.40 %
  99.14 % 99.62 % 99.77 %
  99.48 % 99.90 % 99.93 %
  99.74 % 99.95 % 99.98 %
  99.79 % 99.98 % 99.99 %

 

Для проведения расчетов используем MS Excel.

По результатам эксперимента делаем вывод – оптимальным представляется вариант с использованием четырех наладчиков и четырех резервных швейных машинок [25].

 

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

 

 

 

Пример 25. Предприятие реализует своим покупателям товары со склада. Покупатели появляются приблизительно каждый час, закон распределения экспоненциальный, размер покупки составляет от 1 до 5 единиц, закон распределения равномерный. Если на складе нет достаточного объема товара – клиент уходит. Максимальная вместимость склада – 25 единиц.

Как только уровень достигает некоторой критической точки [26] (будем считать таковым 3 единицы) выполняется звонок поставщику, который доставляет необходимое число единиц продукции - до 25 штук. При этом на заказ поставщику, сборы, доставку от поставщика, разгрузку и т.д. требуется от полутора до трех часов, с наиболее ожидаемым временем – 2 часа (будем считать закон распределения равномерным). После этого товар окажется на складе и будет готов к продаже.

Стоимостные параметры:

- выручка от продажи одной единицы товара за вычетом оптовой цены – 10$ (эта же сума выступает как потери от ухода клиента);

- расходы доставку заказам (также без оптовой цены товара) – 30$.

Необходимо определить оптимальную точку перезаказа.

 

Построим модель в системе Arena. Предлагаемый вариант не является единственно возможным. Есть и другие способы организации системы, например с помощью модуля Signal.

Прежде всего, введем переменные:

- Level – текущее число на складе. Начальное значение равно 25;

- CriticalLevel – точка перезаказа, уровень, при достижения которого делается заказ. Устанавливаем в 3, при проведении экспериментов меняем этот уровень;

- Loses – суммарные потери. Начальное значение равно 0;

- OrderCosts – затраты на обработку заказа, установлено значение 30.

Создание переменных в невизуальном модуле Variables показано на рисунке.

 

 

Для хранения информации о величине покупки каждого покупателя заведем у соответствующего транзакта атрибут demand. В случае ухода покупателя из-за отсутствия товара на складе потери составят: $10*demand (то есть 10 долларов за каждую единицу товара, который хотел приобрести клиент).

Граф модели показан на рисунке. Для наглядности все особенности расчетов показаны в виде комментариев возле блоков.

 

 

Верхний сегмент отвечает за покупателей. Покупатели вводятся в модель, далее в модуле CountDemand типа Assign рассчитывается потребность данного покупателя в товаре. Используется функция expo(), которая генерирует значение в соответствии с равномерным распределением и заданными максимальным и минимальным значением. В данном случае будет получено число от 1 до 5. Рассчитанное значение помещается в атрибут demand.

Если имеющийся запас не в состоянии удовлетворить потребность покупателя (проверяется в модуле IsEnough типаDecide), он уходит. Перед этим рассчитывается величина потерь – мы прибавляем к переменной Loses потенциальный чистый доход от ушедшего покупателя – размер его покупки, умноженный на 10.

В противном случае, заказ удовлетворяется, то есть уровень запаса в модуле CountLosses типа Assign снижается на объем требования покупателя. Затем транзакт-покупатель выводится из модели.

Нижний сегмент отвечает за заказы поставщику. Имеется специальный транзакт, который циркулирует по сегменту. Такой транзакт только один, он запускается в модель в момент времени 0 блоком Create.

Далее идет модуль типа Hold. Этот модуль заставляет транзакт ожидать момента заказа. Условием заказа поставщику является достижение критического уровня запаса. Транзакт последует дальше, когда будет выполнено условие Level<CriticalLevel.

Параметры модуля Hold приведены на рисунке.

 

 

Далее в модуле CountOrder импа Assign рассчитывается необходимая величина поставки как максимальный уровень запаса минус текущий.Объем заказа будем хранить в атрибуте транзакта с именем OrderSize:

 

OrderSize = MaxLevel – Level.

В этом модуле также учитывается стоимость ее осуществления (к суммарным расходам на заказы добавляется $30).

 

В модуле Deliver типа Process моделируется операция доставки. Выбран вариант модуля Delay – поскольку транзакт только один, нам нет необходимости моделировать ресурсы, например, грузовики на которых осуществляется доставка.

После того как товар доставлен и разгружен можно, рассчитать текущий уровень запаса с учетом объема поступившего заказа. Затем транзакт заказа вновь возвращается в модуль Hold для ожидания.

Проведем моделирование для 500 часов.

На рисунке приведен график переменной Level, текущего уровня запаса. График имеет традиционную для задач управления запасами форму «пилы».

 

 

Среди результатов моделирования будем отслеживать величину суммарных затрат, то есть значения переменных Loses и OrderCosts.

При критическом уровне в 3 единицы результат за 500 часов моделирования составит:

 

После семи экспериментов были получены следующие значения переменных:

 

CriticalLevel OrderCosts Loses Total
       
       
       
       
       
       
       

 

Результат может быть показан графически:

 

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

Задача 5. Дополним предыдущий пример (Пример 24). Каждые 8 часов поставщик осуществляет плановый завоз товара, причем стоимость такого завоза существенно ниже – $10. При этом необходимо определить потребность в товаре за 2 часа до начала поставки.

Необходимо продумать оптимальную стратегию закупок.

 

Задача 6. Провести моделирование процесса приема экзамена в вузе. Процедура приема стандартная – первая группа студентов (5 человек) появляется в аудитории в 9:00. Каждый студент подходит к преподавателю, берет билет, начинает подготовку. Далее студент отвечает на билет, возможно, получает положительную либо отрицательную оценку. Также возможен вариант, когда преподаватель задаст одно или несколько дополнительных заданий, перед ответом на которые студент также может подготовиться. После того, как студент покинул аудиторию, следующий студент может подойти, взять билет, начать подготовку. Экзамен будет закончен, когда последний студент получит оценку.

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

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

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

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

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

 

 


 

Заключение

 

В учебном пособии были рассмотрены вопросы имитационного моделирования экономических систем с использованием системы имитационного моделирования Rockwell Arena.

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

Однако владение инструментом – это только часть знаний и навыков специалиста. Не менее важным является освоение содержательной стороны имитационного моделирования. Построение модели должно иметь ясную цель; структура модель должна соответствовать изучаемому процессу; следует корректно собрать и правильно обработать исходные данные; нужно спланировать и поставить эксперимент; модель необходимо использовать для формирования и оценки конкретных управленческих решений.

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


Литература

 

 

Основная

 

1. Лоу А., Кельтон В. Имитационное моделирование. – СПб: Питер, 2004. – 848 с.

2. Шеннон Р. Имитационное моделирование систем – искусство и наука. – М.: Мир, 1978. – 417 с.

 

 

Дополнительная

3. Емельянов А. А., Власова Е. А., Дума Р. В. Имитационное моделирование экономических процессов. – М.: Ф и С, 2009. – 416 с.

4. Форрестер Дж. Основы кибернетики предприятия (индустриальная динамика) / пер. с англ., общая редакция Д.М. Гвишиани. – М.: Прогресс, 1971. – 340 с.

5. Simulation with Arena, 5th Edition by W. David Kelton, Randall P. Sadowski, Nancy B. Swets Rockwell Automation
McGraw-Hill, 2010.

6. Altiok T., Melamed B. Simulation Modeling and Analysis with ARENA. – Academic Press, 2007. - 456.

 

 

Ресурсы в сети Интернет

7. www.arenasimulation.com – официальный сайт системы Rockwell Arena.

8. www.gpss.ru – портал имитационного моделирования. Материалы всероссийских конференций «ИММОД».

9. www.wintersim.org – Материалы ежегодных международных конференций «Winter Simulation Conference».

 

 


Вопросы к экзамену

по дисциплине «Имитационное моделирование экономических процессов»

 

1. Понятия системы и модели

2. Особенности сложных социально-экономических систем

3. Классификация моделей

4. Требования к моделям

5. Метод имитационного моделирования. Возможности, преимущества, области применения

6. Основные классы имитационных моделей

7. Непрерывное имитационное моделирование

8. Этапы имитационного моделирования

9. Подготовительные этапы имитационного моделирования

10. Этапы построения и проверки моделей

11. Стратегическое и тактическое планирование имитационного эксперимента

12. Планирование имитационных экспериментов по схеме полного факторного эксперимента

13. Учет модельного времени

14. Цепи текущих событий и будущих событий

15. Генерация случайных чисел. Базовый датчик. Требования к базовым датчикам

16. Моделирование случайных событий, дискретных и непрерывных случайных величин, заданных таблично

17. Система Ithink. Возможности и принципы работы

18. Система имитационного моделирования GPSS. Возможности и принципы работы

19. Система имитационного моделирования Arena. Возможности и принципы работы

20. Система имитационного моделирования Arena. Моделирование ресурсов и очередей

21. Система имитационного моделирования Arena. Пулы ресурсов, расписания

22. Система имитационного моделирования Arena. Модули шаблона «Basic process»

23. Система имитационного моделирования Arena. Транзакты, атрибуты, переменные

24. Система имитационного моделирования Arena. Моделирование процессов сборки и разделения. Модули Batch, Separate

25. Система имитационного моделирования Arena. Задержка и синхронизация транзактов. Модули Hold, Match

26. Система имитационного моделирования Arena. Моделирование процессов с использовании станций

27. Система имитационного моделирования Arena. Средства анимации


[1] Рекомендации по стандартизации. – М.: ГОССТАНДАРТ РОССИИ, 2001.

[2] Транзакт – динамический объект имитационной модели.

[3] На самом деле есть и другие понятия – станция, последовательность. транспортер и т.д. Они будут рассмотрены далее в следующих главах.

 

[4] Важно отличать атрибут транзакта от переменной. Значение переменной одно на всю модель. В то же время у каждого транзакта может быть свое значение некоторого атрибута. В наших примерах – число денег в кассе – это переменная, глобальное единственное значение,. А вот сумма документа «Счет-фактура» - это атрибут. У каждой счет-фактуры своя сумма.

[5] В базовых единицах времени. Базовые единицы выставляются в пункте меню Run – Setup вкладка Replication parameters.

[6] Для ресурсов с мощностью большей единицы состояние следует трактовать так: IDLE – все единицы свободны, BUSY – хотя бы одна занята.

[7] Настойчиво рекомендуем сразу же при создании присваивать всем модулям содержательные, «говорящие» имена. В противном случае понимание модели будет затруднено.

[8] Небрежность при выборе единиц измерения времени – одна из наиболее распространенных ошибок при создании моделей.

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

[10] Необходимо понимать разницу между ресурсом, например, станком и процессом, например обработкой детали на станке. Модуль Process представляет именно операцию, протекающий во времени процесс, стадию обработки. Эта разница должна отражаться и в названиях, которые присваиваются модулю Process и ресурсам.

[11] Модули, которые мы рассмотрели, относятся к шаблону Basic Processes. Следующий шаблон Advanced Process содержит модули, позволяющие строить более сложные и гибкие модели. К этому шаблону относятся и модули Sieze, Delay, Release. Их функционал почти полностью сходен с функционалом модуля Process. Кроме того, модули Sieze позволяет использовать общие очереди к одним и тем же ресурсам

[12] Назначение периода warm up будет рассмотрено позже в главе 9.

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

[14] Речь идет транзакте, который в настоящий момент проходит модуль.

[15] В полученную модель заложены следующие предположения: длительность стрижки мужчин и женщин одинакова; одни и те же мастера могут стричь как мужчин, так и женщин. Подобные предположения остаются в моделях всегда и ограничивают их использование. Исследователю крайне важно учитывать все закладываемые допущения и оценивать их критичность и корректность.

[16] Предлагаемый вариант решения не является единственно возможным.

[17] Каждый шаблон объединяют ряд визуальных и невизуальных модулей определенной направленности. Чтобы подключить шаблон необходимо в левой стороне окна нажать правую кнопку мыши, выбрать в появившемся меню пункт Attach, и затем выбрать в диалоге открытия файла нужный файл шаблона.

[18] Другая аналогичная задача – отразить процент занятых единиц ресурса.

[19] Модель можно усложнять дальше, например, можно ввести новые услуги, можно указать группу элитных парикмахеров, которые могут делать эксклюзивную прическу и т.д. Сейчас мы этого делать не станем.

[20] Копирование осуществляется модулем Separate

[21] Задача взята из книги Емельянов А.А. Имитационное моделирование в управлении рисками – СПб.: СПбГИЭА, 2000. – 376 с.

 

[22] Модули этого шаблона отличаются цветом в зависимости от назначения: работа со станциями – розовый, с конвейерами – зеленый, с транспортерами – голубой.

[23] Не следует путать сам модуль Station и соответствующий элемент модели. Модуль Station – это элемент графа модели, очередной шаг на пути транзакта. Модуль вызывает перемещение транзакта между станциями.

[24] Это классическая задача, рассматривается в книге Шрайбер Т. Дж. Моделирование на GPSS. — М.: Машиностроение, 1980. — 592 с.

 

[25] Профессиональная версия Arena включает пакет OptQuest, позволяющий автоматически проводить имитационные эксперименты с моделями и искать оптимальные решения

[26] В задачах управления запасами этот уровень носит название «точка перезаказа».



Поделиться:


Последнее изменение этой страницы: 2016-06-29; просмотров: 759; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.139.67.228 (0.013 с.)