Оптимизация работы кладовой на промышленном предприятии методом имитационного моделирования

  • Вид работы:
    Курсовая работа (т)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    38,14 Кб
  • Опубликовано:
    2016-01-19
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Оптимизация работы кладовой на промышленном предприятии методом имитационного моделирования

БЕЛКООПСОЮЗ

Учреждение образования

"Белорусский торгово-экономический университет потребительской кооперации"

Кафедра информационно-вычислительных систем






Дисциплина:

"Имитационное моделирование информационных процессов и систем"

Задание по курсовой работе

на тему: "Оптимизация работы кладовой на промышленном предприятии методом имитационного моделирования. "


Выполнил студент

Голомзик С.Г.

Научный руководитель

Еськова О.И.



Гомель 2015

Содержание

Введение

1. Постановка задачи

2. Описание возможностей языка GPSS

3. Описание модели

3.1 Программа на языке GPSS

3.2 Результаты моделирования

Заключение

Список литературы

Введение


Процессы функционирования различных систем и сетей связи могут быть представлены той или иной совокупностью систем массового обслуживания (СМО) - стохастических, динамических, дискретно-непрерывных математических моделей. Исследование характеристик таких моделей может проводиться либо аналитическими методами, либо путем имитационного моделирования.

Имитационная модель отображает стохастический процесс смены дискретных состояний СМО в непрерывном времени в форме моделирующего алгоритма. При его реализации на ЭВМ производится накопление статистических данных по тем атрибутам модели, характеристики которых являются предметом исследований. По окончании моделирования накопленная статистика обрабатывается, и результаты моделирования получаются в виде выборочных распределений исследуемых величин или их выборочных моментов. Таким образом, при имитационном моделировании систем массового обслуживания речь всегда идет о статистическом имитационном моделировании.

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

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

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

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

Данная курсовой проект содержит: введение, постановку задачи, описание возможности языка GPSS, описание модели, программа на языке GPSS, результаты моделирования, заключение. Состоит из 20 страниц и содержит 2 блок схемы.

1. Постановка задачи


Курсовой проект выполняется на следующих данных. Торговая фирма планирует принимать заказы клиентов на приобретение товаров по телефону, для чего устанавливается мини-АТС с тремя телефонными аппаратами. Предположительно заявки будут поступать с интервалом 4±2 минут. Если заказ поступает, когда все линии заняты, то клиент получает отказ. 60% клиентов, получивших отказ, пытаются перезвонить через 10±2 мин. Если и эта попытка оказывается неудачной, то они обращаются в другую фирму. Длительность оформления заказа составляет 8±2 минуты.

2. Описание возможностей языка GPSS


Система GPSS WORLD - мощная универсальная среда моделирования как дискретных, так и непрерывных процессов, предназначенная для профессионального моделирования самых разнообразных процессов систем. Эта система явилась следующим шагом развития системы GPSS/PC (1984 год), ориентированной на DOS. Обе системы разработаны специалистами фирмы Minuteman software (основана 1982 году) под руководством Спрингера Кокса. Сначала система GPSS World появилась в 1994 году с ориентацией на OS/2 фирмы IBM, и только в 2000 году она была реализована под систему ОС Windows abhvs Microsoft.

В GPSS World появились дополнительные возможности, вот основные из них:

по всем классам объектов и переменных реализованы динамические графические окна, в которых представляются в реальном времени промежуточная и выходная статистика;

гибкий процедурный язык PLUS может быть использован для построения моделей и в процедурах проведения эксперимента;

введены средства поддержки факторного анализа, традиционного дисперсионного (ANOVA) и регрессионного анализа, оптимизация на основе методологии оптимального планирования эксперимента;

стали доступны элементы непрерывного моделирования;

решены проблемы с целочисленным модельным временем.

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

Система GPSS World, предназначена для моделирования дискретных (в основном, систем массового обслуживания) и непрерывных систем.

Система массового обслуживания - это совокупность последовательно связанных между собой входящих потоков требований на обслуживание (машин, самолетов, пользователей и т.д.), накопителей, очереди, каналов обслуживания (станции техобслуживания, аэродромов, ЭВМ и т.д.) и выходящих потоков требований после обслуживания.

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

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

Требование (транзакт) - это объект, поступающий в систему и нуждающийся в определенном обслуживании в данной системе. Под требованием можно понимать сообщение, машину, изделие, информацию, пользователя и т.д. Требование в системе GPSSW - это объект с набором определенных признаков, который определяется уникальным номером. Объекты нумеруются последовательно, начиная с номера 1.

Канал обслуживания - устройство, в котором выполняется обслуживание требования. Основным параметром канала обслуживания является время обслуживания, которое, как правило, является случайной величиной.

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

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

проектирование и анализ производственных систем;

оценка различных систем вооружений и требований к их материально-техническому обеспечению;

определение требований к оборудованию и протоколам сетей связи;

определение требований к оборудованию и программному обеспечению различных компьютерных систем;

проектирование и анализ работы транспортных систем, например аэропортов, автомагистралей, портов и метрополитена;

моделирование различных процессов в деловой сфере;

определение политики в системах управления запасами;

анализ финансовых и экономических систем.

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

Для ввода транзактов в модель используется блок GENERATE (Создать). Он создает (генерирует) транзакты в модели согласно заданному закону распределения интервала времени между их поступлением. Этот блок может иметь 5 операндов, т.е. имеет вид:

GENERATE A,B,C,D,E

Операнды A,B,…,E указывают следующие характеристики входного потока (в скобках значение по умолчанию):

A - средний интервал времени между поступлением транзактов (0);

B - половина поля допуска (размах) интервала равномерного распределения (0);

C - время создание первого транзакта (0);

D - ограничитель количества создаваемых транзактов (бесконечность);

E - приоритет создаваемых транзактов (0). В GPSS возможно всего 128 уровней приоритета, они задаются числами от 0 до 127. Чем больше значение приоритета, тем больше преимуществ получает при продвижении по модели транзакт;

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

Примеры:

GENERATE 5,3

Генерируются транзакты с равномерным распределением интервала поступления 5±3. Планирование прихода первого транзакта происходит в момент времени, равный 0, путем розыгрыша случайного целочисленного значения от 2 до 8.

GENERATE 10

Поскольку размах (операнд B) по умолчанию равен 0, получаем детерминированный (определенный точно) интервал времени между транзактами, равный 10. Первый транзакт приходит в момент времени 10, второй - в момент 20 и т.д.

Транзакты удаляются из модели (уничтожаются), попадая в блок TERMINATE. Блоки TERMINATE (Уничтожить) всегда позволяют выйти из модели всем транзактам, которые пытаются это сделать. Блок TERMINATE может иметь один операнд, т.е. имеет вид

Операнд A (по умолчанию 0) указывает число, на которое уменьшается содержимое счетчика числа завершений.

Счетчик числа завершений - это переменная, которая используется для управления окончанием процесса моделирования. Счетчик завершений в модели только один, хотя блоков TERMINATE может быть несколько. При достижении значения счетчика завершений, равного 0, моделирование завершается.

Мы хотим закончить моделирование по истечении некоторого времени. Например, мы моделируем работу диспетчерского пункта в течение рабочего дня (8 ч), а единицей времени является одна минута. Тогда в момент времени, равный 480 минут, моделирование должно быть закончено, независимо от того, сколько звонков поступило, и сколько сейчас находятся. Для этого в модель вводится дополнительный сегмент (соответствующий таймеру времени) вида:

GENERATE 480

TERMINATE 1

При этом начальное значение счетчика завершений командой START должно быть задано равное 1, а все другие блоки TERMINATE (уничтожающие транзактов - клиентов) не должны содержать параметров. Тогда в момент модельного времени, равный 480, будет сгенерирован транзакт-таймер и сразу же уничтожен. При этом счетчик завершений станет равен 0, и моделирование прекратится.

Моделирования обслуживания на транзакта на устройстве выполняется задержкой этого транзакта на случайное (в общем случае) время обслуживания. Реализуется это в GPSS с помощью блока ADVANCE (Задержать) формата:

ADVANCE A,B

A - среднее значение времени задержки (0);

B - половина поля допуска (размах) интервала времени задержки (0).

Блок ADVANCE никогда не препятствует входу транзакта. Любое число транзактов может находится в этом блоке одновременно. Когда транзакт попадает в этот блок, разыгрывается случайное значение времени пребывания в нем, согласно операндам A и B. Далее транзакт будет находиться в блоке ADVANCE до истечения этого времени. Как и в случае блока GENERATE, для реализации других видов распределений, отличных от равномерного, нужно использовать в качестве аргументов специальные функции.

Примеры.

ADVANCE 10,2

Время задержки распределено равномерно в интервале 10±2.

ADVANCE 100

Время задержки любого транзакта равно 100 (неслучайное значение, т.к. параметр B по умолчанию равен 0).

Блок TRANSFER может иметь четыре операнда (A, B, C, D). Существуют девять режимов использования этого блока, которые определяются по значению операнда A. Рассмотрим основные из них:

) Безусловный переход

TRANSFER,B

здесь B - имя (адрес) блока, к которому направляется транзакт (операнд A отсутствует).

Пример.

TRANSFER,CPU2

Транзакт направляется к блоку с именем CPU2.

) Условный переход с одним альтернативным адресом:

TRANSFER BOTH,B,C

где BOTH - тип режима; - имя (адрес) блока, к которому направляется транзакт (основной адрес). По умолчанию - следующий блок;

C - альтернативный адрес, куда направляется транзакт при невозможности войти в блок с адресом B.

Если ни один из блоков, указанных в операторе TRANSFER, не может принять транзакт, то он остается в блоке TRANSFER, и в дальнейшем моделирующая система будет делать попытки продвинуть этот транзакт при каждом изменении модельного времени

Примеры.BOTH,KASS1,KASS2BOTH,,TWO

В первом операторе транзакт первоначально направляется к блоку с именем (меткой) KASS1. При невозможности войти в этот блок транзакт направляется к блоку с именем KASS2. Во втором операторе транзакт делает попытку войти в следующий блок (значение параметра B по умолчанию), а если ему это не удается, он направляется к блоку с именем TWO.

). Статистический переход (переход с заданной вероятностью):

TRANSFER A,B,C

Здесь A - вероятность перехода транзакта по адресу С;

В - альтернативный адрес.

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

Примеры.

TRANSFER.370,THIS,THAT

С вероятностью 0,37 транзакт перейдет к блоку THAT, а с вероятностью 0,63 - к блоку THIS.

TRANSFER 750,,NEW_PLACE

С вероятностью 0,75 транзакт передается на блок NEW_PLACE, а с вероятностью 0,25 - на следующий блок.

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

Емкость памяти, т.е. максимальное количество одновременно обслуживаемых транзактов (число каналов обслуживания) задается оператором описания STORAGE, который имеет следующий формат:

Name STORAGEA

Где Name - имя (номер) памяти; A - емкость памяти.

Например,

STORAGE 100; память с номером 1 емкости 100

PAM STORAGE 10; память именем PAM емкости 10

Операторы описания памятей обычно помещаются в начале программы перед первым оператором GENERATE.

Изменение состояния памяти в модели осуществляется с помощью операторов занятия и освобождения памяти ENTER и LEAVE:

ENTERA,B

LEAVEA,B

Где A - имя (номер памяти);

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

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

В конце моделирования по каждой памяти в отчете распечатывается статистика:

количество свободных каналов памяти на момент окончания моделирования (REM.),

минимальное и максимальное количество одновременно занятых каналов (MIN. и MAX.),

счетчик входов (ENTRIES),

среднее число занятых каналов (AVE. C.),

коэффициент использования памяти (UTIL.).

3. Описание модели




Для моделирования работы мини - АТС необходимо сформировать входной поток телефонных звонков и временной интервал моделирования работы мини - АТС. Но перед этим необходимо выбрать единицу измерения времени. Для моделирования работы мини - АТС можно взять в качестве единицы измерения времени минуту.

Построение имитационной модели начнем с создания заголовка модели, который может представлен, например, в таком виде:

************************************

*Моделирование мини - АТС*

************************************

Программу работы мини - АТС можно представить в виде трех секторов.

В первом секторе вместимость мини - АТС с помощью оператора STORAGE (Накопитель), который будет выглядеть так: LINE STORAGE 3.

Во втором секторе будем моделировать поток звонков и работу мини - АТС.

Оператор TRANSFER распределяет звонки, используя режим BOTH (Оба). Сначала звонок направляет на линию, если линия занята, то он переводит к оператору PEREZ. Выглядит следующим образом: TRANSFER BOTH,, PEREZ.

Если звонок поступает на линию, линия под символьным именем LINE не занята, то звонок поступает на телефон. Это моделируется оператором ENTER (Войти): ENTER LINE.

Для моделирования времени восстановления объекта используются операторы ADVANCE (Задержать), которые будут выглядеть так:

ADVANCE 8, 2

ADVANCE 10, 2

В поле операнда А выполняется обращение в систему с указанием среднего интервала восстановления объектов - соответственно 8 и 10 единиц времени.

После принятия заказа клиент (требование) освобождает линию (покидает систему). Это действие может быть представлено оператором LEAVE (Остановить): LEAVE LINE.

И так, те клиенты, которые не дозвонились, перезванивают.60% не дозвонившихся клиентов фильтруются оператором TRANSFER и переходят по ветке POVTOR. Выглядит так: TRANSFER 0.6,, POVTOR.

Те клиенты, которые перезванивают через 10 минут, так же фильтруются оператором TRANSFER, и те, которые, не дождавшись ответа, переходят на ветку BYEBYE. Выглядит так: TRANSFER BOTH,, BYEBYE.

После этого клиент покидает систему - телефонную линию. Это действие может быть промоделировано оператором TERMINATE: TERMINATE.

3.1 Программа на языке GPSS



имитационное моделирование диспетчерский пункт

3.2 Результаты моделирования



В верхней строке окна REPORT указывается:

START TIME (Начальное время) - 0.000

END TIME (Время окончания) - 480.000

BLOCKS (Число блоков) - 15

FACILITIES (Число каналов обслуживания) - 0

STORAGES (Число накопителей) - 1.

Ниже указываются результаты функционирования накопителя (STORAGE) под именем LINE:

CAP. (Capacity - Вместимость) - 3;

REM. (Remove - Удален) - 1;

MIN. (Минимальное содержание) - 0;

MAX. (Максимальное содержание) - 3;

ENTRIES (Число входов) - 119;

AVL. (Доступность) - 1;

AVE. C. (Средняя вместимость) - 1.965;

UTIL. (Коэффициент использования) - 0.655;

RETRY - 0;

DELAY - 0.

Используя результаты прогона модели, приведенные в отчете, можно ответить на поставленный вопрос. В столбце ENTRY COUNT показано количество транзактов, которые входили в соответствующие блоки. Вероятность отказа в обслуживании может быть оценена как доля получивших отказ заявок. Из отчета видно, что через блок TERMINATE с меткой BYBYE вышло 0 транзактов (т.е. заявки получили отказ). Всего за время моделирования в систему вошли 122 транзакта - столько транзактов входили в блок GENERATE. Поэтому вероятность отказа в обслуживании приблизительно равна  или 2,5%.

Заключение


Язык GPSS имеет достаточно широкое практическое применение. Это такие области, как: промышленность, логистика, медицина, авиация, информатика, финансы.

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

В ходе изучения имитационного моделирования разработана программа, которая показывает эффективность диспетчерского пункта. Поставлены эксперименты и сделаны следующие выводы. Загруженность данной системы составляет 65,5%, клиенты, получившие отказ составляют 2,5%. Что для данной системы является оптимальным вариантом, для эффективности работы диспетчерского пункта в торговом предприятии достаточно иметь 3 телефонной линии как и предоставлялось в задаче.

Список литературы


1.      Кудрявцев Е.М. GPSS World. Основы имитационного моделирования различных систем/ Е.М. Кудрявцев. - М.: ДМК, 2004.

2.      Лоу, А. Имитационное моделирование / А. Лоу, В. Кельтон. - СПб.: Питер, 2004.

.        Лабораторный практикум по имитационному моделированию /Еськова О. И.

4.      www.bookarchive.ru

Похожие работы на - Оптимизация работы кладовой на промышленном предприятии методом имитационного моделирования

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!