Автор: Пользователь скрыл имя, 06 Июня 2012 в 11:11, курсовая работа
Процессы функционирования различных систем и сетей связи могут быть представлены той или иной совокупностью систем массового обслуживания (СМО) — стохастических, динамических, дискретно-непрерывных математических моделей. Исследование характеристик таких моделей может проводиться либо аналитическими методами, либо путем имитационного моделирования
Введение 7
1 Постановка задачи 9
2 Разработка программной модели 11
2.1 Концептуальная схема модели 11
2.2 Модель системы (Q-схема) 13
3 Моделирование и анализ результатов моделирования 15
3.1 Алгоритм работы системы моделирования 15
3.2 Описание программной реализации модели в системе GPSS 16
3.3 Анализ результатов моделирования 21
4 Выполнение заданий по моделированию 24
Заключение 28
Список использованных источников 29
1 Постановка задачи 9
2.1 Концептуальная схема модели 11
2.2 Модель системы (Q-схема) 13
3 Моделирование и анализ результатов моделирования 15
3.1 Алгоритм работы системы моделирования 15
3.2 Описание программной реализации модели в системе GPSS 16
3.3 Анализ результатов моделирования 21
4 Выполнение заданий по моделированию 24
Заключение 28
Список использованных источников 29
Приложение А (обязательное) 30
Приложение Б (обязательное) 31
Введение
В предлагаемом курсовом проекте рассматривается задача моделирования работы транспортного цеха объединения. Цель курсового проекта – составление и описание модели, моделирование процесса обработки некоторого количества заданий, получение основных характеристик модели исследуемой системы, анализ и интерпретация результатов.
Процессы функционирования различных систем и сетей связи могут быть представлены той или иной совокупностью систем массового обслуживания (СМО) — стохастических, динамических, дискретно-непрерывных математических моделей. Исследование характеристик таких моделей может проводиться либо аналитическими методами, либо путем имитационного моделирования [1].
В последнее время, особенно с развитием вычислительной техники, вопросы имитационного моделирования стали играть все большую роль. Имитационное моделирование – наиболее эффективный метод исследования больших систем [2]. Оно обеспечивает возможность испытания, оценки и проведения экспериментов с предполагаемой системой без каких-либо непосредственных воздействий на нее. При имитационном моделировании реализующий модель алгоритм воспроизводит процесс функционирования системы во времени, причем имитируются элементарные явления, составляющие процесс, с сохранением их логической структуры и последовательности протекания во времени, что позволяет по исходным данным получить сведения о состояниях процесса в определенные моменты времени, дающие возможность оценить характеристики системы [1]. То, что раньше можно было сделать за несколько часов, недель, месяцев работы теперь можно смоделировать за гораздо меньшее время.
Сложные функции моделирующего алгоритма могут быть реализованы средствами универсальных языков программирования, что предоставляет неограниченные возможности в разработке, отладке и использовании модели. Однако подобная гибкость приобретается ценой больших усилий, затрачиваемых на разработку и программирование весьма сложных моделирующих алгоритмов, оперирующих со списковыми структурами данных. Альтернативой этому является использование специализированных языков имитационного моделирования.
Для общих задач система моделирования должна предоставлять пользователю достаточно краткий и в то же время применимый к широкому классу систем язык моделирования [3], а также учитывать техническую оснащенность. И когда встает вопрос о выборе конкретной системы моделирования, то тут, как правило, отдают предпочтение специализированному пакету GPSS. Это обуславливается тем, что в настоящее время он является одним из наиболее эффективных и распространенных программных средств имитационного моделирования сложных дискретных систем, успешно используемых для моделирования систем, формализуемых в виде схем массового обслуживания, с помощью которых описываются многие объекты, рассматриваемые при подготовке специалистов по АСОИУ. Также не требующего дорогостоящего оборудования для использования.
В качестве объектов языка используются аналоги таких стандартных компонентов СМО (система массового обслуживания), как заявки, обслуживающие приборы, очереди и т.п. Достаточный набор подобных компонентов позволяет конструировать сложные имитационные модели, сохраняя привычную терминологию [4].
1 Постановка задачи
В данном курсовом проекте передо мной была поставлена задача создать и проанализировать модель работы транспортного цеха объединения.
Транспортный цех объединения обслуживает три филиала A, B, C. Грузовики перевозят изделия из A в В и из В в С, возвращаясь затем в А без груза. Погрузка в А занимает 20±2 мин, переезд из А в В длится 30±3 мин, разгрузка и погрузка в В - 40±4 мин, переезд в С - 30±1 мин, разгрузка в С - 20±2 мин и переезд в А – 20±2 мин. Если к моменту погрузки в А и В отсутствуют изделия, грузовики уходят дальше по маршруту. Изделия в А выпускаются партиями по 1000 шт. через 20±3 мин, в В – такими же партиями через 20±5 мин. На линии работает 8 грузовиков, каждый перевозит 1000 изделий. В начальный момент все грузовики находятся в А.
Задание по моделированию
– Смоделировать работу транспортного цеха объединения в течении 1000 ч.
– Определить частоту пустых перегонов грузовиков между А и В, В и С и сравнить с характеристиками, полученными при равномерном начальном распределении грузовиков между филиалами и операциями.
– Определить и построить экспериментальную функцию распределения времени переезда в филиал С.
– Определить пропускную способность транспортного цеха объединения.
– В качестве основного программного средства моделирования принять GPSS.
– Вспомогательные вычисления и графические построения выполнить в MATLAB.
2 Разработка программной модели
Перед нами стоят 3 основные задачи:
–
–
–
2.1 Концептуальная модель схемы
Концептуальная, или функциональная схема позволяет в общих чертах определить будущий вид программной реализации, расставить акценты, выявить возможные сложные места (рисунок 2.1).
Рисунок 2.1 – Концептуальная схема работы вычислительного
комплекса
В данной схеме изделия производятся в начальном пункте, в нем же находится весь транспорт изначально. Затем происходит транспортировка изделий в следующий по назначению пункт. В нем происходит выгрузка и загрузка изделий. В последствии транспорт движется в последний по назначению пункт вне зависимости от наполненности транспорта.
2.2 Модель системы (Q-схема)
Объекты GPSS подразделяются на 7 категорий и 14 типов и позволяют описать их взаимодействие сравнительно несложными наборами операций. Для разработки алгоритма и для формализации процессов поступления требований в систему применим структурную схему модели в символике Q-схем (рис.2.2), наглядно изображающую работу транспортного цеха объединения, взаимосвязи прохождения грузовиков по филиалам, организацию и распределение очередей.
Рисунок 2.2 – Q-схема модели
И1 - источник заданий,
Н1 - накопитель изделий в филиале А, для их погрузки,
К1 - первый канал обслуживания (имитация перевозки(переезда) из А в В),
Н2 - накопитель изделий в филиале В, для их погрузки,
К2 - второй канал обслуживания (имитация перевозки(переезда) из В в С),
Н3 - накопитель изделий в филиале С, перевезенных из филиала В,
К3 - третий канал обслуживания (имитация переезда из С в А),
1 - въезд грузовиков в транспортный цех,
2 - завершение работы по истечении 1000 ч.,
3 - возвращение в начальный филиал.
Единицами исследуемых потоков в GPSS являются транзакты (сообщения). Они производят ряд определенных действий, продвигаясь по фиксированной структуре. Логику функционирования модели системы задают блоки и определяют пути движения транзактов между объекта аппаратной категории. Для получения статистики в языке GPSS имеются очереди и таблицы. Они позволяют оценить вводимые характеристики поведения системы. Транзакт помещается в очередь в том случае, когда некоторое устройство не в состоянии обслужить его немедленно. Теперь предлагается рассмотреть листинг программы с необходимыми комментариями.
Построение алгоритма является последним шагом перед написанием программной реализации модели. Алгоритм отображает структуру системы моделирования в целом (рисунок 3.1).
Рисунок 3.1– Алгоритм работы системы моделирования
3.2 Описание программной реализации модели в системе GPSS
В соответствии с приведённым выше планом была реализована программа на языке GPSS (полная реализация приведена в Приложении А).
Выше была представлена программа, позволяющая смоделировать работу транспортного цеха объединения в течение 1000 часов. Опишем программу моделирования системы, созданную на основе блок-схемы моделирующего алгоритма, Q-схемы модели системы, а также описания работы в задании.
Оператор SIMULATE предназначен для инициализации процесса моделирования (в некоторых версиях не обязателен).
В начале программы мы генерируем транзакты (грузовики) которые в дальнейшем будут обслуживать филиалы А, В и С.
10 generate 1,,,4
В программе используется формат generate 1,,,4.
Число 1 в поле <A> показывает время, которое определяет интервал между моментами генерации сообщений блоком GENERATE. Поле <B> пустое. Это означает, что генерация транзактов происходит через интервалы времени, указанные в поле <A>, т.е. через 1 мин. Поле <C> пустое. Это означает, что временная задержка начала моделирования – нулевая. Число 4 в поле <D> показывает число генерируемых транзактов.
Отправляем 4 грузовика в филиал А с помощью блока TRANSFER.
11 transfer ,filialA
В программе используется формат transfer ,filialA.
Здесь блок TRANSFER используется в режиме безусловного перехода по метке filialA к заданному блоку TEST.
Генерируем еще 4 грузовика и отправляем их в филиал В по тому же принципу:
12 generate 1,,,4
13 transfer ,filialВ
Далее мы проверяем есть ли изделия в филиале А, и смотрим либо отправлять грузовик на погрузку, либо отправлять пустым в следующий филиал.
20 filialA test ne x$izdeliA,0,izAvB
В данной строке программы мы используем три метки, обозначающиеся соответственно filialA, izdeliA и izAvB. Первая метка обозначает филиал А, вторая – изделия в филиале А, третья переезд из А в В. Блок TEST определяет номер следующего блока для вошедшего в него транзакта (грузовика) в зависимости от того, выполняется требуемое условие или нет. В нашем случае x$izdeliA,0,izAvB означает, что если в филиале А нет изделий, то грузовик едет в филиал В.
На третьем этапе нашей программы, мы отправляем один транзакт (грузовик) на погрузку изделий:
30 savevalue izdeliA-,1
В программе используется формат savevalue izdeliA-,1. Блок SAVEVALUE используется для замены, увеличения или уменьшения текущего содержимого значений.
Значение <-> в поле <А> показывает, что количество изделий в филиале А уменьшается, а число 1 в поле <В> показывает, что это количество уменьшается на единицу.
На четвертом этапе программы мы загружаем наш грузовик изделиями, ниже приведены три строки отвечающие за это:
35 seize 1
40 advance 20,2
45 release 1
Здесь присутствуют три блока: SEIZE, ADVANCE, RELEASE. Блоки SEIZE и RELEASE действуют совместно. Блок SEIZE осуществляет захват устройства, где число 1 в поле <A> означает номер этого устройства, т.е. устройства погрузки изделий в филиале А. Блок RELEASE осуществляет освобождение этого устройства, где число 1 в поле <A> также означает номер этого устройства.
Блок ADVANCE задерживает продвижение сообщения на заданный период времени. Он представлен в формате advance 20,2. Число 20 в поле А показывает среднее время пребывания сообщения в блоке ADVANCE. В поле <В> указывается способ модификации среднего значения, заданного в поле <А>, это число равно 2. В общем мы в течении 20±2 мин. осуществляем погрузку изделий.
На пятом этапе программы мы осуществляем переезд из филиала А в филиал В:
50 izAvB advance 30,3
Блок ADVANCE был описан выше.
Далее мы повторяем все вышесказанное два раза, для двух филиалов В и С.
60 filialB test ne x$izdeliB,0,izBvC
70 savevalue izdeliB-,1
75 seize 2
80 advance 40,4
85 release 2
90 izBvC advance 30,1
100 filialC seize 3
102 advance 20,2
105 release 3
110 izCvA advance 20,2
Единственное отличие в том, что в филиале С не производится загрузка, поэтому не надо проверять на наличие изделий блоком TEST.
На следующем этапе разработки программы мы отправляем транзакты (грузовики) обратно в филиал А:
120 transfer ,filialA
Для этого используется блок TRANSFER.
Он представлен в формате transfer ,filialA
Блок TRANSFER относится к блокам, которые изменяют маршруты транзактов. В нашем случае TRANSFER используется в режиме безусловного перехода по метке filialA к заданному блоку TEST.
Далее мы производим генерацию изделий в филиале А:
*** Выпуск изделий A
130 generate 20,3
Информация о работе Модель работы транспортного цеха объединения