Имитационное моделирование в системе GPSS
Определение необходимого количества работников и их распределение между операциями, при которых достигается максимальная экономическая эффективность работы цеха. Описание процессов, протекающих в моделях систем массового обслуживания. Листинг программы.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 09.06.2015 |
Размер файла | 314,9 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru
Размещено на http://www.allbest.ru
Федеральное агентство железнодорожного транспорта
Омский государственный университет путей сообщения (ОмГУПС)
Кафедра «Автоматика и системы управления»
Имитационное моделирование в системе GPSS
Пояснительная записка к курсовому проекту
по дисциплине
«Информационные технологии на железнодорожном транспорте»
Студент
Д.Ю. Римский
Руководитель
доцент каф. «АиСУ»
В.А.Спиридонов
Омск 2014
Реферат
Курсовой проект содержит 18 страниц, 2 рисунка, 2 таблицы,
2 источника.
Имитационное моделирование, ЭВМ, GPSS, транзакт, операнд, концептуальная модель, таблица определений, структурная схема программы моделирования, входящий поток требований, очередь, обслуживающее устройство.
В курсовом проекте изложены основные понятия, касающиеся моделирования, сведения о системе GPSS и ее практическом применении. На основе теоретической части проведено моделирование системы массового обслуживания.
При разработке расчетно-пояснительной записки использовались следующие программные пакеты: MS World 2007,GPSS World Student Version 5.2.2.
Цель курсового проекта: разработать модель работы аэропорта, определить путем эксперимента с помощью данной модели максимальную экономическую эффективность работы аэропорта.
Введение
Моделирование - наиболее мощный универсальный метод исследования и оценки эффективности систем, поведение которых зависит от воздействия случайных факторов. Области применения методов имитации чрезвычайно широки и разнообразны. Системы моделирования имеют специализированные средства, реализующие дополнительные возможности по организации модельных экспериментов на компьютере. Они также предоставляют возможность учитывать в моделях фактор времени, то есть строить динамические имитационные модели, что особенно важно для многих систем .
Применение универсальных языков программирования при реализации имитационных моделей позволяет исследователю достигнуть гибкости при разработке, отладке и испытании модели. Однако языки моделирования, ориентированные на определённую предметную область, являются языками более высокого уровня, поэтому дают возможность с меньшими затратами создавать программы моделей для исследования сложных систем.
Специализированные языки моделирования делят на три группы, соответствующие видам имитации: для непрерывных, дискретных и комбинированных процессов. Научно-технический прогресс в наше время невозможен без исследования, построения и использования сложных систем и процессов, разнообразных по своей физической природе, функциональному назначению, путям реализации.
Построение математической модели и экспериментирование на ней доступно каждому, знакомому с принципами и методами современного математического вычислительного эксперимента. С учебной точки зрения, каждый студент, освоивший основные методы математического моделирования, получает в свои руки универсальный инструмент выполнения курсовых, бакалаврских и дипломных работ по своей специальности и тем самым значительно упрощает себе задачу.
Исходные данные
В сборочном цеху на изделия монтируются агрегаты двух типов. Предполагается, что на входе цеха имеется такое количество агрегатов, которое является достаточным для бесперебойной работы цеха.
Агрегаты первого типа поступают на операцию ОП1 проверки параметров агрегатов с длительностью Т1 минут. Агрегаты второго типа поступают на операцию ОП2 проверки параметров с длительностью Т2 минут. Монтирование агрегатов на изделия может начаться только при наличии двух агрегатов первого типа и одного агрегата второго типа и после монтирования предыдущего изделия. Монтирование двух агрегатов первого типа занимает Т3 и Т4 минут, соответственно, монтирование агрегата второго типа занимает Т5 минут. Операции монтирования производятся параллельно. Длительность каждой из операций зависит от числа задействованных на ней рабочих.
Прибыль от реализации каждого смонтированного изделия составляет S1 единиц стоимости. На участке может быть задействовано не более N работников. Заработная плата одного работника составляет S2 единиц стоимости в час.
Определить необходимое количество работников и их распределение между операциями, при которых достигается максимальная экономическая эффективность работы цеха (прибыль за единицу времени).
Параметры |
Количество работников |
Значения параметров |
|
Т1 |
1 |
30 +/- 11 |
|
2 |
22+/- 8 |
||
3 |
18 +/-5 |
||
Т2 |
1 |
20 +/- 10 |
|
2 |
18 +/- 8 |
||
3 |
15 +/- 5 |
||
Т3 |
1 |
20 +/- 8 |
|
2 |
13 +/- 6 |
||
3 |
8 +/- 3 |
||
Т4 |
1 |
25 +/-9 |
|
2 |
17 +/- 6 |
||
3 |
12 +/- 4 |
||
Т5 |
1 |
27 +/- 10 |
|
2 |
18 +/- 7 |
||
3 |
10 +/- 3 |
||
N |
11 |
||
S1 |
500 |
||
S2 |
50 |
Теоретические сведения
Базовые понятия и определения.
Система GPSSW, предназначена для моделирования дискретных (в основном, систем массового обслуживания) и непрерывных систем.
Система массового обслуживания- это совокупность последовательно связанных между собой входящих потоков требований на обслуживание (машин, самолетов, пользователей и т.д.), накопителей, очередей, каналов обслуживания (станций техобслуживания, аэродромов, ЭВМ и т.д.) и выходящих потоков требований после обслуживания.
Входящий поток требований- это последовательность входящих требований, нуждающихся в обслуживании в системе и подчиняющихся определенному закону.
Выходящий поток требований- это последовательность выходящих требований, обслуженных в системе и подчиняющихся определенному закону.
Требование (транзакт) - это объект, поступающий в систему и нуждающийся в определенном обслуживании в данной системе. Требование является активным элементом в моделируемой системе. Под требованием можно понимать сообщение, машину, изделие, информацию, пользователя и т.д. Требование в системе GPSSW - это объект с набором определенных признаков, который определяется уникальным номером. Объекты нумеруются последовательно, начиная с номера 1.
Канал обслуживания- устройство, в котором выполняется обслуживание требования. Основным параметром канала обслуживания является время обслуживания, которое, как правило, является случайной величиной.
Накопитель (буфер) - это место временного расположения требований, нуждающихся в обслуживании. Накопители характеризуются не временем обслуживания требований, а емкостью - максимально возможным количеством одновременно находящихся в накопителе требований.
Имитационная модель- это формальное описание логики функционирования исследуемой системы во времени, учитывающее наиболее существенные взаимодействия ее элементов и обеспечивающее возможность проведения статистических экспериментов.
Имитационная модель СМО - это модель, отражающая поведение системы и изменения ее состояния во времени при заданных потоках требований, поступающих на входы системы. Параметры входных потоков требований - внешние параметры СМО. Выходными параметрами являются величины, характеризующие свойства системы - качество ее функционирования, например такие, как:
- коэффициенты использования каналов обслуживания;
- максимальная и средняя длина очередей в системе;
- время нахождения требований в очередях и каналах обслуживания.
Имитационное моделирование- это численный метод определения параметров функционирования самых различных систем по многочисленным реализациям с учетом вероятностного характера протекания процесса.
Основой имитационного моделирования является метод статистических испытаний - метод Монте-Карло. Этот метод наиболее эффективен при исследовании сложных систем, на функционирование которых оказывают существенное влияние случайные факторы.
Имитационное моделирование позволяет исследовать СМО при различных типах входных потоков и разной интенсивности поступления требований в систему, а также различных дисциплинах обслуживания требований.
Модель в системе GPSSW - это последовательность операторов моделирования. Оператор моделирования может быть или оператором GPSS, или процедурой языка PLUS (Programming Language Under Simulation - Язык программирования для моделирования).
При имитационном моделировании выделяют три представления времени: реальное, модельное (системное) и машинное время.
Реальное время- это время, в котором происходит функционирование моделируемой системы в реальной жизни, например час, смена, год.
Модельное (системное) время- это время, в котором происходит функционирование моделируемой системы при проведении имитационного моделирования на ЭВМ. В системном времени выполняются следующие действия:
- осуществляется переход моделируемой системы из одного состояния в другое;
- выполняется синхронизация работы всех компонент имитационной модели;
- обеспечивается управление ходом имитационных экспериментов;
- обеспечивается параллельная реализация событий в моделируемой системе.
Машинное время- это время, отражающее затраты времени ЭВМ на проведение имитационного моделирования.
Система моделирования GPSSW основана на переходе требований (транзактов) от блока к блоку (от оператора к оператору) в определенные моменты времени, что называется событием.
Событие - это нечто, меняющее статус связанных с ним состояний системы.
События соответствуют конкретным изменениям в реальной системе: требование появилось, требование вошло в очередь, требование обслуживается и т.д. При этом прослеживается процесс моделирования с использованием как абсолютного времени (текущего), так и относительного (с начала прогона модели, с момента последней модификации или последнего сброса и т.д.). События характеризуются условиями (или законом) возникновения и типом, который определяет порядок их обработки (дисциплину обслуживания). Событие по существу представляет собой мгновенное изменение некоторого элемента системы или состояния системы в целом.
Очень важная особенность GPSSW заключается в том, что продолжительность моделирования определяется не длительностью интервалов между событиями, а числом событий, возникающих в системе. Поэтому переход на более мелкие единицы времени не увеличивает время моделирования.
Основные операторы блоков языка GPSS
Операторы блоков (исполнения).
GENERATE (генерировать, произвести, родить). Этот оператор осуществляет генерирование входного потока заявок, управляет законом распределения временных интервалов между событиями и количеством заявок за все время моделирования.
Формат:< GENERATE [A,B,C,D,E]>, где
А - среднее значение интервала времени;
В - разброс или модификатор среднего значения (по умолчанию - ноль);
С - время появления первого транзакта;
D - общее число генерируемых транзактов;
Е - уровень приоритета каждого транзакта (по умолчанию - ноль).
Оператор GENERATE не допускает входа транзактов в него! Любой транзакт, вошедший в оператор исполнения GENERATE, вызовет ошибку исполнения и прервет работу программы с выдачей предупреждения в листинге.
TERMINATE (Уничтожить, терминировать). Служит для удаления транзактов из модели по завершении их обработки. Производит подсчет выведенных из модели транзактов, уменьшая величину специального счетчика - счетчика завершений.
Формат: <TERMINATE [A]>, где:
А - величина, на которую будет уменьшен счетчик завершений. По умолчанию А=0. Операнд А может принимать любые значения в интервале от 0 до плюс бесконечности. Физический смысл числового значения операнда А заключается в задании веса терминирования.
В тех случаях, когда счетчик завершений не уменьшается с каждым транзактом, покидающим модель, моделирование может продолжаться бесконечно.
В программе может быть любое количество операторов TERMINATE, но обязательно хотя бы один из них должен иметь операнд А, отличный от нуля, хотя и все TERMINATE могут иметь отличные от нуля значения операнда А. Единственное принципиальное условие - ни из одного оператора TERMINATE не должны выходить транзакты.
Итак, два оператора исполнения GENERATE и TERMINATE являются особыми: в первый не могут входить транзакты, а из второго не могут выходить транзакты! Все остальные рассматриваемые операторы или блоки имеют и вход и выход.
SEIZE (завладеть), RELEASE (освободить). Оператор SEIZE, является парным с оператором RELEASE, использование их по одиночке не допустимо. Имена, записываемые в операнде А пары должны быть идентичны. Оператор служит приглашением ко входу в одно из устройств модели. Транзакт, подойдя к блоку SEIZE, пытается занять устройство, названное в операторе. Если устройство занято, транзакт ожидает освобождения устройства перед этим оператором. Перед оператором SEIZE может находиться любое количество транзактов. При попадании первого транзакта на обслуживание в устройство, происходит переключение, осуществляемое программой, запрещающее вход в устройство до окончания обслуживания.
Формат:< SEIZE А>, где
А - имя (или номер) устройства.
Функция оператора RELEASE - моделировать освобождение устройства. Пройдя обслуживание в операторе ADVANCE, и исполнив, оператор RELEASE, транзакт переключает поименованное в операторе устройство из положения «занято» в положение «свободно» и разрешает вход в ADVANCE, первому из транзактов, ожидающих перед оператором SEIZE .
Формат: <RELEASE А>, где
А - имя (или номер) устройства.
ADVANCE (продвижение вперед, успех). Этот оператор моделирует задержку транзакта в устройстве (в терминах теории СМО - обработку заявки).
Формат:< ADVANCE A,[B]>, где
А - среднее время задержки,
В - разброс относительно среднего значения (модификатор).
На месте операнда А, как и в операторе GENERATE, может быть задана любая встроенная функция, тогда операнд В отсутствует.
Три описанных выше оператора составляют модель простейшей СМО на языке GPSS. Программа, в которой имеется такая последовательность операторов, будет отслеживать все статистические характеристики устройства.
ENTER ( войти), LEAVE (отпустить). Эта пара операторов выполняет те же функции, что и SEIZE и RELEASE, но не для устройств, а для STORAGE - «хранилищ», то есть для ресурсов, к которым может обращаться более одного транзакта. Такие объекты могут быть полезны при моделировании, например, распараллеленного процесса: обработки потока деталей на нескольких одинаковых станках, выхода публики из театра через несколько дверей и т.д. Эти «хранилища», или устройства параллельной обработки, должны быть предварительно описаны в программе при помощи оператора описания STORAGE (см. ниже). По логике своей работы связки операторов SEIZE - ADVANCE - RELEASE; ENTER- ADVANCE- LEAVE; абсолютно одинаковы, но употребляются для разных объектов.
QUEUE ( образовать очередь), DEPART (выйти из очереди). Помимо устройств, в которых происходит обработка заявок (задержка транзактов), необходимо собирать сведения о таких объектах, как очереди, образующиеся на входах устройств. В языке GPSS/H по умолчанию очередь образуется и функционирует нормально, но никаких сведений о ней не аккумулируется. Для организации сбора таких данных используется пара связанных операторов: QUEUE, который отмечает постановку заявки-транзакта в «хвост» очереди (в терминах модели это называется «конец очереди»), и DEPART, собирающий статистику об уходе транзактов из очереди при освобождении устройства. Эти два оператора ставятся по желанию пользователя, не влияют на основные статистические результаты листинга и могут быть поставлены для получения интересующей пользователя информации с любого объекта модели, где может происходить образование и накопление очереди. Они не препятствуют входу транзактов и имеют нулевое время входа. Последовательность постановки операторов:
Формат:< QUEUE А,[B]>, где
А - имя очереди (имена такого рода используются не только для удобства идентификации в процессе работы с моделью, но и для указания необходимых сведений при работе в оболочке);
В - число добавляемых в очередь элементов.
Строго говоря, оператор QUEUE увеличивает текущее содержимое очереди, определенной в поле А, на величину, указанную в поле В.
При прохождении оператора DEPART транзакт покидает указанную очередь, причем счетчик длины очереди уменьшается.
Формат: <DEPART A,[B]>, где
А - имя очереди,
В - число удаляемых из очереди элементов.
TRANSFER (передать). Этот оператор предназначен для движением транзактов по модели; он применяется в тех случаях, когда необходимо нарушить обычный порядок движения - по прямой, с последовательным прохождением блоков.
Формат: <TRANSFER [A],B,[C]>, где
А - вероятность перехода на метку блока, записанного в поле С;
В и С - метки блоков, между которыми предстоит выбирать.
Существуют 4 следующие основные варианты применения ОБ:
1. Безусловный переход:
< TRANSFER , B >
А - по умолчанию 0, заменяется обязательной запятой
В -- не имеет значения по умолчанию, характеризует имя (адрес) блока, к которому направляется транзакт.
2. Условный переход с одним альтернативным адресом (режим "BOTH"):
< TRANSFER BOTH, B, C >
А - не имеет значения по умолчанию, операнд заменяется словом BOTH, указывающим тип режима;
В - по умолчанию обозначает, что Х акт следует в первый последовательный блок, при именовании операнда В характеризует имя (адрес) блока, к которому направляется транзакт(основной адрес);
С - не имеет значения по умолчанию, характеризует собой альтернативный адрес (при невозможности войти в блок с адресом В).
3. Условный переход со многими альтернативами (режим "ALL"):
<TRANSFER ALL, B, C, D >
А - не имеет значения по умолчанию, операнд заменяется словом ALL, указывающим тип режима;
В - по умолчанию обозначает, что Х акт следует в первый последовательный блок, при именовании представляет собой первый адрес;
С - не имеет значения по умолчанию, определяет последний адрес;
D - не имеет значения по умолчанию, представляет собой константу М, используемую для вычисления возмож-ных адресов движения транзактов: адрес в поле В, затем -- В+М, В+2М, ..., адрес в поле С.
4. Статистический переход (переход с заданной вероятно-стью):
<TRANSFER А, В, С >
А - не имеет значения по умолчанию, характеризует вероятность перехода транзакта по адресу С или часть времени используемую ОБ С;
В - по умолчанию является следующим последовательным ОБ, при именовании представляет собой альтернативный адрес.
TEST (проверить). Этот ОБ определяет направление движения транзакта в зависимости от выполнения условия, заданного алгебраическим соотношением. Оператор имеет расширенное поле операции, включающее общепринятые обозначения логических операций: L(меньше), LE(меньше или равно), E (равно ), NE (не равно ), G ( больше ), GE ( больше или равно).
Формат записи имеет вид :
< TEST XX A, B, C >
XX - дополнительный код логической операции (L, LE, E, NE, G, GE.);
А - не имеет значения по умолчанию, представляет собой выражение, левая часть которого сравнивается с требуемой операцией, если сравнение истинно, то Х акт продвигается в следующий последовательный ОБ.
В - не имеет значения по умолчанию, представляет собой выражение, правая часть которого сравнивается с операндом А;
С - не имеет значения по умолчанию и представляет собой имя или номер ОБ к которому направляется Х акт, если результат сравнения ложный ( альтернативный адрес).
Рассмотрим примеры использования ОБ:
1. ТESТ LE Q1,10
2. ТЕST NE S1,PF2
3. TEST GE PF1,PF2,CPU
В первом примере транзакт задерживается, если длина очереди 1 больше 10;
Во втором примере транзакт задерживается, если текущее содержимое памяти 1 равно значению 2-го параметра транзакта форматом "слово";
В третьем примере транзакт переходит к следующему блоку, если PF1 PF2, либо, в противном случае, направляется к блоку СPU.
ASSIGN(задать). Формат ОБ ASSIGN имеет вид:
< ASSIGN A,B,C,D >
A - не имеет значения по умолчанию , определяет имя или номер параметра, которому назначается значение. Если последний символ в операнде А + или -, то параметр уменьшается или увеличивается на значение, определяемое операндом В.
В не имеет значения по умолчанию, представляет собой замещаемое значение, которое вычитается или прибавляется к значению операнда А,если модифицируется параметр, представляемый числом с плавающей точкой, то операнд В то же должен иметь такой вид.
С - не имеет значения по умолчанию, определяет имя или номер оцениваемой функции, значение операнда В умножается на значение функции, предварительно определивзнак функции.
D - не имеет значения по умолчанию, определяет формат параметра PF(fullword), PH(halfword), PB(byte), PL(floating point) (по умолчанию PH ). Если функция отсутствует ( операнд С), то формат параметра сдвигается влево на место операнда С.
PRIORITY.В процессе моделирования иногда приходится менять как дисциплину обслуживания, так и приоритет транзакта. Для этой цели используется ОБ PRIORITY, формат ОБ имеет вид :
< PRIORITY A >,
A - не имеет значения по умолчанию, определяет новое значение приоритета для Х акт. Транзакты удаляются при этом из СТС и возвращается обратно с новым приоритетом, становясь последним в список данного приоритета.
TABULATE (создать таблицу).
Этот ОБ используется для сбора дополнительной информации, которая не выводится в стандартном отчёте. Формат ОБ имеет вид:
< TABULATE A,[B] >
A - не имеет значения по умолчанию, определяет имя или номер таблицы, в которую вносятся желаемые наблюдения, описание таблицы даётся в модуле описания с помощью ОУ TABLE .
В - по умолчанию равен 1, является не обязательным и служит в качестве весового коэффициента при создании взвешенных таблиц.
LOGIC(проверить логику), GATE (запирать). Эта комбинация ОБ LOGIC (проверить логику) - GATE (запирать) и ОУ INITIAL может находиться в одном из двух состояний « включено выключено» и служит для сигнализации о состоянии модели уемой системы по отношению к сложившимся условиям. По терминологии GPSS/H логический переключатель может быть в установочном состоянии (set) - код состояния LS, либо свободен (clear)- код состояния LC.
INITIAL задаёт начальное состояние или изменение состояния логического переключателя, а также сохраняемых величин ( Savevalue ) и матричных величин ( Matrix Savevalue ), его формат имеет вид:
< INITIAL А(n)/ A(n)/…>,
А - не имеет значения по умолчанию и обозначает один из кодов состояния LS, LС, содержимое скобок указывает на имя инициализируемого устройства, слэш “/” символизирует возможный набор устройств.
LOGIC изменяет состояние логического переключателя. Кроме кода действия, ОБ имеет дополнительные коды: S- установлен, C- свободен или переустановлен -R (reset ) и инвертирован - I, т.е. изменил состояние на противоположное, ОБ имеет формат:
< LOGIC X A > ,
X - дополнительный код S ,C( R ), I
A не имеет значения по умолчанию и обозначает имя или номер логического переключателя, устанавливаемого в одно из состояний, задаваемых дополнительным кодом. Используемый в этой цепочке ОБ GATE, препятствует входу следующего транзакта, если определяемые условия ложны, что делается с помощью дополнительных кодов ОБ, отличающихся от условий применения ОБ GATE. В начале рассмотрим его использование в общем виде, формат ОБ GATE в этом случае имеет вид:
< GATE XXX A[,B ] >,
XXX - дополнительный код.
Для логического переключателя это LS и LC.
Для устройств: I- прервано, NI не прервано, U - захвачено или прервано, NU -ни захвачено и ни прервано, FV- доступно, FNV - не доступно, FS готово к захвату, FNS - не готово к захвату.
Для памятей:
SE - пуста, SNE - не пуста, SF- полна,SNF- не полна, SV-доступна, SNV - не доступна.
Для транзактов, имеющих одинаковые характеристики (групп, ансамблей):
M- является членом группы, NM - не является членом группы.
А не имеет значения по умолчанию ни для одного объекта, представляет собой имя или номер логических переключателей, устройств, памятей или ОБ, проверяющих наличие транзактов, отвечающих заданным условиям. К числу таких ОБ относятся ASSEMBLE ,GATHER , MATCH .
В - при умолчании 0, в режиме перехода относится ко всем формам ОБ и указывает на имя или номер дополнительного , не последовательного блока к которому направится Х акт при ложности дополнительного кода , т.е указывает альтернативный адрес.
SPLIT - моделирование одновременного начала нескольких процессов (расщепить), имеющем следующий формат: имя SPLITA,B,C. В поле A задается число создаваемых копий исходного транзакта (родителя), входящего в блок SPLIT. После выхода из блока SPLIT транзакт-родитель направляется в следующий блок, а все транзакты-потомки поступают в блок, указанный в поле B. Если поле B пусто, то все копии поступают в следующий блок.
Блок PREEMPT. Имеет следующий формат: имя PREEMPT A,B,C,D,E. В поле A указывается имя или номер устройства, подлежащего захвату. В поле B кодируется условие захвата. Если это поле пусто, то захват возникает, если обслуживаемый транзакт сам не является захватчиком. Если же в поле B записан операнд PR, то захват возникает, если приоритет транзакта-захватчика выше, чем приоритет обслуживаемого транзакта. Поля C, D и E определяют поведение транзактов, обслуживание которых было прервано. Поле C указывает имя блока, в который будет направлен прерванный транзакт. В поле D может быть указан номер или имя параметра прерванного транзакта, в который записывается время, оставшееся этому транзакту до завершения обслуживания на устройстве. При отсутствии операнда в поле E прерванный транзакт сохраняет право на автоматическое восстановление на устройстве по окончании захвата. Если же в поле E указан операнд RE, то транзакт теряет такое право.
Блок RETURN. Имеет единственный операнд A, содержащий имя или номер устройства, подлежащего освобождению от захвата. Блоки PREEMPT и RETURN могут быть использованы для моделирования СМО с абсолютными приоритетами. В простейших случаях, при одном уровне захвата, в блоке PREEMPT используется единственный операнд A. При этом прерванный транзакт переводится симулятором из списка будущих событий в так называемый список прерываний устройства, а по окончании захвата устройства возвращается в список будущих событий с предварительно вычисленным временем занятия устройства для продолжения обслуживания.
Существует еще множество операторов блоков, такие как: операторы управления, операторы описания, переменные и другие.
Формализация модели и написание программы
Концептуальная модель
Для описания процессов протекающих в моделях систем массового обслуживания для наглядности и лучшего понимания системы используют структурные схемы, которые отражают физическую структуру системы. На рисунке 1 приведена структурная схема процесса моделирования.
Рисунок 1 - Структурная схема процесса моделирования
Для реализации программы в GPSS World необходимо составить схему моделирующего алгоритма. Данная схема представлена на рисунке 2.
Рисунок 2 - Схема моделирующего алгоритма
2.2 Таблица определений
Таблица 1 - Таблица определений
Элементы GPSS |
Характеристика |
|
Одна условная единица времени |
1 мин |
|
Транзакты: первый сегмент второй сегмент |
агрегаты таймер |
|
Многоканальное устройство: Mont0 Mont1 Mont2 |
Монтаж агрегатов 1-го типа Монтаж агрегатов 1-го типа Монтаж агрегатов 2-го типа |
2.3 Листинг программы
После составления схемы моделирующего алгоритма можно переходить к составлению программы.
Данная программа составлена для варианта с общим количеством работников равным пяти.
GENERATE,,,1
MET1SPLIT1,MET2
ADVANCE20
TRANSFER,MET1
MET2SPLIT1,MET3
ADVANCE30,11
GATHER2
AAAMATCHBBB
TRANSFERBOTH,MET4,MET5
MET4SEIZEMONT0
DDDMATCHCCC
ADVANCE20,8
RELEASEMONT0
TRANSFER,KOROB
MET5SEIZEMONT1
CCCMATCHDDD
ADVANCE25,9
RELEASEMONT1
TRANSFER,KOROB
KOROBASSEMBLE2
FFFMATCHEEE
TRANSFER,SBOR
MET3ADVANCE20,10
BBBMATCHAAA
SEIZEMONT2
ADVANCE27,10
RELEASEMONT2
EEEMATCHFFF
SBORASSEMBLE2
TERMINATE
GENERATE2400
TERMINATE1
2.4 Результаты выполнения программы
В Язык GPSS позволяет выдать отчет, который является результатом работы построенной программы. В этом отчете содержится основная интересующая нас информация о работе модели системы.
Sunday, May 18, 2014 17:25:17
START TIME END TIME BLOCKS FACILITIES STORAGES
0.000 2400.000 32 3 0
NAME VALUE
AAA 8.000
BBB 24.000
CCC 16.000
DDD 11.000
EEE 28.000
FFF 21.000
KOROB 20.000
MET1 2.000
MET2 5.000
MET3 23.000
MET4 10.000
MET5 15.000
MONT0 10000.000
MONT1 10001.000
MONT2 10002.000
SBOR 29.000
LABEL LOC BLOCK TYPE ENTRY COUNT CURRENT COUNT RETRY
1 GENERATE 1 0 0
MET1 2 SPLIT 241 0 0
3 ADVANCE 241 1 0
4 TRANSFER 240 0 0
MET2 5 SPLIT 240 0 0
6 ADVANCE 240 2 0
7 GATHER 238 0 0
AAA 8 MATCH 238 0 0
9 TRANSFER 238 64 0
MET4 10 SEIZE 87 0 0
DDD 11 MATCH 87 0 0
12 ADVANCE 87 1 0
13 RELEASE 86 0 0
14 TRANSFER 86 0 0
MET5 15 SEIZE 87 0 0
CCC 16 MATCH 87 0 0
17 ADVANCE 87 1 0
18 RELEASE 86 0 0
19 TRANSFER 86 0 0
KOROB 20 ASSEMBLE 172 0 0
FFF 21 MATCH 86 1 0
22 TRANSFER 85 0 0
MET3 23 ADVANCE 240 1 0
BBB 24 MATCH 239 153 0
25 SEIZE 86 0 0
26 ADVANCE 86 1 0
27 RELEASE 85 0 0
EEE 28 MATCH 85 0 0
SBOR 29 ASSEMBLE 170 0 0
30 TERMINATE 85 0 0
31 GENERATE 1 0 0
32 TERMINATE 1 0 0
FACILITY ENTRIES UTIL. AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY
MONT0 87 0.980 27.030 1 347 0 0 64 0
MONT1 87 0.980 27.030 1 349 0 0 64 0
MONT2 86 0.980 27.344 1 174 0 0 0 152
CEC XN PRI M1 ASSEM CURRENT NEXT PARAMETER VALUE
483 0 0.000 1 0 5
FEC XN PRI BDT ASSEM CURRENT NEXT PARAMETER VALUE
174 0 2400.561 1 26 27
1 0 2410.000 1 3 4
347 0 2411.774 1 12 13
482 0 2413.351 1 23 24
479 0 2415.481 1 6 7
349 0 2420.428 1 17 18
481 0 2426.024 1 6 7
484 0 4800.000 484 0 31
Из этого отчета становится понятно что за 40-часовую рабочую неделю пятью работниками было изготовлено 85 агрегатов.
Определение максимальной экономической эффективности аэропорта
Таблица 2 - Расчёт прибыли и расходов аэропорта в зависимости от количества полос
Номер модели |
Общее количество работников |
Количество работников задействованных на каждом из участков |
Количество изготовленных агрегатов |
Прибыль полученная с изготовленных агрегатов |
Зарплата работников |
Экономическая эффективность |
|
1 |
5 |
1 |
85 |
42500 |
10000 |
32500 |
|
1 |
|||||||
1 |
|||||||
1 |
|||||||
1 |
|||||||
2 |
6 |
1 |
85 |
42500 |
12000 |
30500 |
|
1 |
|||||||
2 |
|||||||
1 |
|||||||
1 |
|||||||
3 |
6 |
2 |
88 |
44000 |
12000 |
32000 |
|
1 |
|||||||
1 |
|||||||
1 |
|||||||
1 |
|||||||
4 |
6 |
1 |
90 |
45000 |
12000 |
33000 |
|
1 |
|||||||
1 |
|||||||
1 |
|||||||
2 |
|||||||
5 |
6 |
1 |
87 |
43500 |
12000 |
31500 |
|
1 |
|||||||
1 |
|||||||
1 |
|||||||
1 |
|||||||
6 |
7 |
2 |
88 |
44000 |
14000 |
30000 |
|
2 |
|||||||
1 |
|||||||
1 |
|||||||
1 |
|||||||
7 |
7 |
1 |
112 |
56000 |
14000 |
42000 |
|
1 |
|||||||
1 |
|||||||
2 |
|||||||
2 |
|||||||
8 |
7 |
2 |
91 |
45500 |
14000 |
31500 |
|
1 |
|||||||
1 |
|||||||
1 |
|||||||
2 |
|||||||
9 |
8 |
2 |
114 |
57000 |
16000 |
41000 |
|
1 |
|||||||
1 |
|||||||
2 |
|||||||
2 |
|||||||
10 |
8 |
1 |
117 |
58500 |
16000 |
42500 |
|
1 |
|||||||
2 |
|||||||
2 |
|||||||
2 |
|||||||
11 |
8 |
2 |
91 |
45500 |
16000 |
29500 |
|
2 |
|||||||
1 |
|||||||
1 |
|||||||
2 |
|||||||
12 |
9 |
2 |
88 |
44000 |
18000 |
26000 |
|
2 |
|||||||
2 |
|||||||
2 |
|||||||
1 |
|||||||
13 |
9 |
2 |
96 |
48000 |
18000 |
30000 |
|
2 |
|||||||
2 |
|||||||
1 |
|||||||
2 |
|||||||
14 |
9 |
2 |
112 |
56000 |
18000 |
38000 |
|
2 |
|||||||
1 |
|||||||
2 |
|||||||
2 |
|||||||
15 |
9 |
1 |
133 |
66500 |
18000 |
48500 |
|
2 |
|||||||
2 |
|||||||
2 |
|||||||
2 |
|||||||
16 |
9 |
2 |
132 |
66000 |
18000 |
48000 |
|
1 |
|||||||
2 |
|||||||
2 |
|||||||
2 |
|||||||
17 |
10 |
2 |
132 |
66000 |
20000 |
46000 |
|
2 |
|||||||
2 |
|||||||
2 |
|||||||
2 |
|||||||
18 |
10 |
3 |
134 |
67000 |
20000 |
47000 |
|
1 |
|||||||
1 |
|||||||
2 |
|||||||
3 |
|||||||
19 |
10 |
3 |
111 |
55500 |
20000 |
35500 |
|
3 |
|||||||
1 |
|||||||
2 |
|||||||
2 |
|||||||
20 |
11 |
3 |
134 |
67000 |
22000 |
45000 |
|
2 |
|||||||
2 |
|||||||
2 |
|||||||
2 |
|||||||
21 |
11 |
2 |
135 |
67500 |
22000 |
45500 |
|
2 |
|||||||
2 |
|||||||
2 |
|||||||
3 |
|||||||
22 |
11 |
2 |
132 |
66000 |
22000 |
44000 |
|
3 |
|||||||
2 |
|||||||
2 |
|||||||
2 |
Рисунок 1- Экономическая эффективность
Из таблицы 2, а также на рисунке 1, видно, что максимальная экономическая эффективность достигается в моделе номер 15.
Заключение
Во время выполнения данного курсового проекта мной были освоены различные возможности программы GPSS WORLD, углублено понимание работы имитационной модели, составленной на языке GPSS, получены навыки составления сложных концептуальных схем на основе реальных практических задач, научилась путем эксперимента с имитационными моделями находить оптимальное решение поставленной задачи.
Создание имитационных моделей позволяет изучить достоинства и недостатки разработанной системы, а также измерить или оценить параметры системы, что сильно минимизирует затраты на производство при запуске данной системы.
Библиографический список
имитационное моделирование массовый обслуживание
Томашевский В.Н. Имитационное моделирование в среде GPSS/ В.Н.Томашевский, Е.Г.Жданова. М.:Бестселлер,2003,416с.
Варжапетян А.Г. Исследование систем управления методами имитационного моделирования/ Санкт-Петербург, 2004г
Размещено на Allbest.ru
Подобные документы
Основные сведение о системе моделирования GPSS и блоки, используемые при моделировании одноканальных и многоканальных систем массового обслуживания. Разработка модели работы ремонтного подразделения в течение суток с использованием программы GPSS World.
курсовая работа [36,4 K], добавлен 11.02.2015Система GPSS World как мощная универсальная среда моделирования как дискретных, так и непрерывных процессов, предназначенная для профессионального моделирования самых разнообразных процессов и систем. Системы массового обслуживания. Листинг программы.
курсовая работа [499,6 K], добавлен 25.12.2013Определение назначения и описание функций имитационных моделей стохастических процессов систем массового обслуживания. Разработка модели описанной системы в виде Q-схемы и программы на языке GPSS и C#. Основные показатели работы имитационной модели.
курсовая работа [487,4 K], добавлен 18.12.2014Определение функциональных характеристик систем массового обслуживания (СМО) на основе имитационного моделирования; синтез СМО с заданными характеристиками. Разработка программы на языке SIMNET II; расчет процесса работы СМО; подбор требуемого параметра.
лабораторная работа [623,8 K], добавлен 11.03.2011Программа, моделирующая систему массового обслуживания (СМО). Моделирование программы имитации работы турникетов на стадионе (многоканальная СМО) в визуальной среде Delphi 7. Описание программного модуля, листинг программы и руководство пользователя.
курсовая работа [3,8 M], добавлен 20.08.2009Построение модели системы массового обслуживания с помощью ЭВМ с использованием методов имитационного моделирования. Моделирование проводилось с помощью GPSS World Student version, позволяющего достоверно воссоздать систему массового обслуживания.
курсовая работа [555,7 K], добавлен 29.06.2011Имитационное моделирование как один из наиболее широко используемых методов при решении задач анализа и синтеза сложных систем. Особенности имитационного моделирования систем массового обслуживания. Анализ структурной схемы системы передачи пакетов.
курсовая работа [1,2 M], добавлен 28.05.2013Автоматизация технологических процессов. Написание имитационных моделей систем с дискретными событиями. Модели систем массового обслуживания в общецелевой системе GPSS. Логическая схема алгоритмов и схема программы. Математическая модель и ее описание.
курсовая работа [1,4 M], добавлен 29.06.2011Моделирование системы массового обслуживания (СМО) для транспортного цеха с использованием языка GPSS Wоrld. Детальная схема и блок-схема моделирующего алгоритма и их описание. Математическая модель и ее описание. Анализ результатов моделирования.
реферат [330,6 K], добавлен 28.06.2011Создание имитационной модели системы массового обслуживания с помощью языка имитационного моделирования GPSS/PC - моделирование обработки на участке 500 деталей. Определение загрузки второго станка на вторичной обработке и вероятности появления отходов.
курсовая работа [602,3 K], добавлен 30.11.2010