Автор работы: Пользователь скрыл имя, 10 Декабря 2013 в 09:09, курсовая работа
Целью выполнения курсовой работы является углубление знаний по данной дисциплине, применять имитационные модели в системах управления экономического назначения.
В ходе выполнения курсовой работы у студента должно формироваться представление о принципах и способах построения имитационной модели экономических процессов.
В ходе достижения цели решаются следующие задачи:
Проведение анализа возможных методов решения поставленной задачи;
Организация экспериментов с моделью;
Обработка результатов моделирования;
Введение 3
1 Постановка задачи 4
1.1 Переработка модели 5
2 Анализ задачи моделирования и выдвижение гипотез 6
2.1 Анализ задачи моделирования 6
2.2 Выдвижение гипотез 8
3 Описание реализации модели 9
3.1 Разработка концептуальных моделей 9
3.2 Выбор программного средства моделирования 10
3.3 Выбор программы для реализации имитационной модели 11
4 Описание имитационной модели 14
4.1 Описание использованных в модели объектов 16
4.2 Организация экспериментов в GPSS 19
5 Анализ и оценка результатов моделирования 20
Заключение 22
Список использованной литературы 23
Источник
Робот 1
Станок
Приёмный пункт
Склад обработанных деталей
Очередь перед станком
Очередь перед вторым роботом
Робот 2
Рисунок
1 – Q-схема модели, для первого способа
закрепления роботов.
Вышеприведённая Q-схема описывает следующую последовательность действий: поступившие в модель заявки ожидают на приёмном пункте освобождения устройства «Робот 1»; это устройство перемещает их в очередь станка; обработанные заявки поступают в очередь второго робота, который затем перевозит их на склад.
Очередь перед роботом
Источник
Робот 1
Станок
Приёмный пункт
Очередь перед станком
Робот 2
Склад
Рисунок 2 –
Q-схема модели, для второго способа закрепления
роботов за операциями.
Приведённая на рисунке 2 Q-схема описывает следующее функционирование системы массового обслуживания. Поступившие заявки ожидают своей очереди на приёмном пункте. Они могут быть обработаны как первым, так и вторым роботом, в результате чего попадут в очередь станка. После обработки станком заявки ожидают транспортировки одним из роботов на склад обработанных деталей. Все вышеописанные Q-схемы справедливы и для ситуации первоначально поставленной задачи, когда в системе присутствуют три робота и два станка, с добавлением соответствующих блоков.
Для разработки программной модели системы, был использован язык GPSS World Student Version 4.3.5.0. GPSS является языком моделирования, используемым для построения моделей и проведения моделирования на ЭВМ. Модели на GPSS компактны, часто состоят из меньшего числа операторов. Это объясняется тем, что в GPSS встроено максимально возможное число логических программ, необходимых для моделирующих систем. В него также входят специальные средства для описания динамического поведения систем, меняющихся во времени, причем изменение состояний происходит в дискретные моменты времени. GPSS очень удобен при программировании, поскольку интерпретатор GPSS (здесь и далее интерпретатором называется моделирующая часть системы GPSS) многие функции выполняет автоматически. Например, GPSS без специального на то указания пользователя собирает статистические данные, описывающие поведение модели, автоматически печатает итоговую статистику по завершении моделирования. Пользователю нет необходимости включать в модель операторы для сбора и накопления этих данных или задавать формат, указывающий, в каком виде должны быть распечатаны итоговые данные. В язык включены и многие другие полезные элементы. Например, GPSS обслуживает таймер модельного времени, планирует события, которые должны
произойти
позднее в течение времени
моделирования, вызывает их своевременное
появление и управляет
Описание системы на GPSS представляет
собой последовательность блоков, каждый
из которых соответствует
Для облегчения пользователю процесса построения модели в GPSS разработан так называемый язык блок-диаграмм, позволяющий упростить переход от алгоритма к программе модели. Каждый блок GPSS имеет свой графический аналог, с помощью которого отображается пространственная конструкция модели, упрощая дальнейшую линеаризацию программы модели.
Построение блок-диаграмм знакомит программиста с набором операторов языка. Набор операторов языка однозначно соответствует набору блоков для описания блок- диаграммы. Вследствие чего, очевидно, что построение блок-диаграммы является не самоцелью, а лишь промежуточным этапом при написании имитационной модели исследуемой системы с использованием операторов языка GPSS. При этом процесс создания модели можно изобразить в виде схемы, показанной на рисунке 3.
Реализуем построенные Q-схемы моделей в терминах команд GPSS. Блочная диаграмма первой модели с жёсткой фиксацией роботов за операциями представлена на рисунке 3.
Объекты GPSS подразделяются на 7 категорий и 14 типов (таблица 1) и позволяют, с одной стороны, описать их взаимодействие сравнительно несложными наборами операций, с другой — достаточно просто и наглядно представить процесс функционирования исследуемой системы, формализуемой в виде Q-схемы.
Таблица 1 – Классификация объектов GPSS
Категория |
Типы объектов |
Динамическая |
Транзакты |
Операционная |
Блоки |
Аппаратная |
Устройства Памяти Ключи |
Вычислительная |
Переменные: арифметические, булевские Функции |
Статистическая |
Очереди Таблицы |
Запоминающая |
Матрицы ячеек Ячейки |
Группирующая |
Списки пользователя Группы |
(EXPONENTIAL(1,t_0#2,(t_0)))
GENERATE
priem
MARK
robot1
priem
(t_1#2+t_4+t_5)
robot1
pered_stankom1
stanok1
pered_stankom1
(normal(1, t_6, t_7))
stanok1
posle_stanka1
robot2
posle_stanka1
(t_2#2+t_4+t_5)t_7))
robot2
TABULATE VREMIA_TRANZAKTA
QUEUE
SEIZE
DEPART
ADVANCE
RELEASE
QUEUE
SEIZE
DEPART
ADVANCE
RELEASE
QUEUE
SEIZE
DEPART
ADVANCE
RELEASE
TERMINATE
Рисунок
4 – Блочная диаграмма первой GPSS-модели.
Как видно из данной блочной диаграммы, работа первой модели представляет собой процесс последовательной обработки транзакта первым роботом, станком и вторым роботом с ожиданием в очередях момента освобождения необходимого устройства.
На рисунке 5 представлена блочная диаграмма, отображающая ввод транзакта в модель, работу первого робота, станка и вывод транзакта из модели. В целях повышения наглядности диаграммы, представленной на рисунке 5 в ней опущено представление фрагмента GPSS-модели, связанного с работой второго робота.
stanok1
pered_stankom1
stanok1
pered_stankom1
(normal(1, t_6, t_7))
TABULATE VREMIA_TRANZAKTA
TERMINATE
QUEUE priem
MARK
(EXPONENTIAL(1,t_0#2,(t_0)))
TEST NE X$pos1,0,seize_robot1
TEST NE X$pos2,0,seize_robot2
proverka_pos1
proverka_pos2
TEST NE X$pos1,1,izm_progon1
proverka_pos1_1
TEST NE X$pos2,1,izm_progon2
proverka_pos2_1
TEST NE X$pos1,2,izm_progon11
proverka_pos1_2
TEST NE X$pos2,2,izm_progon22
proverka_pos2_2
SAVEVALUE progon, X$t_1
Izm_progon1
SAVEVALUE progon, X$t_1
Izm_progon2
SAVEVALUE progon, (X$t_1+X$t_2)
Izm_progon11
SAVEVALUE progon, (X$t_1+X$t_2)
Izm_progon22
robot1
SAVEVALUE pos1, 1
posle_stanka1
(X$t_1+X$t_4+X$t_5 + X$progon)
robot1
robot1
SAVEVALUE pos1, 1
posle_stanka1
(X$t_1+X$t_4+X$t_5 + X$progon)
robot1
Seize_robot1
Seize_robot2
GENERATE
QUEUE
SEIZE
DEPART
ADVANCE
RELEASE
SEIZE
DEPART
ADVANCE
RELEASE
QUEUE
SEIZE
DEPART
ADVANCE
RELEASE
Рисунок
5 – Блочная диаграмма части второй модели,
описывающей ввод транзакта в модель,
работу первого робота, станка и вывод
транзакта из модели.
Ключевое отличие второй модели состоит в поиске для транзакта ближайшего робота. Как видно из рисунка, в модели это выполняется с помощью последовательности блоков Test, логику работы которых в случае определения ближайшего к приёмному пункту робота можно представить в виде следующей блок-схемы (рисунок 6).
–
–
–
–
+
+
+
+
+
Начало
X$pos1 <> 0
X$pos2 <> 0
X$pos1 <> 1
X$pos2 <> 1
X$pos1 <> 2
X$pos2 <> 2
Работа первого робота
Работа второго робота
Работа станка
1
2
1
2
Progon = t_1
1
Progon = t_1
2
Progon = t_1+t_2
1
Progon = t_1+t_2
2
Конец
–
–
Рисунок
6 – Блок-схема поиска ближайшего
робота.
Список использованных при программной реализации объектов приведён в таблице 2.
Таблица 2 – Список использованных объектов GPSS
Элемент GPSS |
Интерпретация |
Переменные: t_0, t_1 … t_8 X$pos1, X$pos2
X$progon |
Значения параметров Положения роботов (приёмный пункт – 0, станок – 1, склад обработанных деталей – 2) Время «холостого» хода робота |
Таблицы: VREMIA_TRANZAKTA TABLE M1,80,5,60 |
Таблица, хранящая время распределения транзактов. Может содержать до 60 интервалов длительностью 5 единиц. Содержит значения, начиная с восьмидесяти. |
Устройства: robot1, robot2
stanok1 |
Устройства, выполняющие операции транспортировки деталей Устройство, выполняющее обработку деталей |
Очереди: priem pered_stankom1, posle_stanka1 |
Очередь, моделирующая приёмный пункт Хранение деталей до и после обработки на станке |
Для подтверждения гипотезы выдвинутой в пункте 2 - курсовой работы, построим модель системы в первоначальном варианте, используя за основу построенную модель упрощенного варианта. Листинг программного кода исходного варианта модели указан в приложении В. При попытке запуска данного кода в оболочке GPSS, выдается ошибка о прерывании моделирования на 150-ом операторе модели, чем и подтверждается необходимость к прибегнутому упрощению. В общем случае, основываясь на полной работоспособности выполненного нами моделирования, можно предположит, что и неупрощенная модель системы будет адекватно и точно работать в более полной версии GPSS. И полностью повторит результаты моделирования в более упрощенном варианте.
Разумеется, программное изменение входных параметров является более предпочтительным по сравнению с вводом исходных значений вручную. Входные параметры могут быть изменены как при помощи блоков GPSS, так и при помощи встроенного языка PLUS. В связи с тем, что в курсовой реализовано две модели, есть возможность использования обоих способов.
Ниже приведён пример запуска модели.
CLEAR
RMULT
INITIAL X$t_0,40
INITIAL X$t_1,6
INITIAL X$t_2,7
INITIAL X$t_3,5
INITIAL X$t_4,8
INITIAL X$t_5,1
INITIAL X$t_6,60
INITIAL X$t_7,10
INITIAL X$t_8,100
TRANSFER ,nachalo
start 10
Блок «CLEAR» производит возврат процесса моделирования к начальному состоянию, т.е. сбрасывает всю накопленную статистику, удаляет все транзакты из модели и устанавливает отсчет (нумерацию) транзактов, сгенерированных блоками GENERATE, начиная c единицы. Затем командой RMULT меняет последовательности выдаваемые генераторами случайных чисел, которые действуют независимо друг от друга, так как при каждом запуске системы генераторы выдают одну и ту же последовательность чисел. Далее следует установление при помощи блоков INITIAL значений параметров, переход к началу, к моменту генерации заявок, и моделирование десяти запусков модели.
Реализация эксперимента средствами встроенного языка PLUS основана на процедурах и «экспериментах». Это очень гибкий и мощный инструмент, так как c его помощью можно задать выполнение разнообразных, достаточно сложных действий. Кроме того, выполняющийся эксперимент позволяет вызывать любые команды GPSS из процедур на языке PLUS.
В результате проведения экспериментов с моделями получены статистические данные, характеризующие работу моделей. В курсовой требовалось для обеих моделей, для каждого набора параметров найти распределение времени прохождения деталей, коэффициенты использования роботов и станков, максимальную емкость бункера для хранения деталей на участке прибытия. Необходимые для сравнения результатов работы моделей данные приведены в таблице 3. Для сравнения распределения времени прохождения деталей в таблице указано среднее время прохождения транзакта.
Таблица 3 – Статистические результаты моделирования
Статистическая характеристика |
Величина указанной статистической характеристики при первом способе закрепления |
Величина указанной характеристики при втором способе закрепления роботов |
1 |
3 |
4 |
Среднее время прохождения транзакта |
104.327 |
121.059 |
Коэффициент использования первого робота |
0.176 |
0.440 |
Коэффициент использования второго робота |
0.193 |
0.000 |
Коэффициент использования станка |
0.506 |
0.502 |
Максимальная ёмкость для хранения деталей на участке прибытия |
1 |
1 |
Информация о работе Построение имитационной модели роботизированной производственной системы