Автор работы: Пользователь скрыл имя, 08 Января 2014 в 15:02, курсовая работа
Смоделировать работу участка в течение 24 ч. Определить возможные места появления очередей и их вероятностно-временные характеристики. Выявить причины их возникновения, предложить меры по их устранению и смоделировать скорректированную систему.
Элементы модели участков обработки деталей:
транзакты – детали, поступающие на участки обработки;
очереди – очереди на участках обработки;
участки обработки – участки цеха, производящие сборку, обработку и регулировку деталей.
1. Постановка задачи 2
2. Описание моделируемой системы 3
3. Блок-диаграмма модели в символике языка GPSS 5
4. Решение задачи на языке GPSS 6
5. Результаты моделирования 7
6. Заключение 11
Приложение А 12
7. Список использованной литературы 19
Числовые данные произошедших изменений приведены в таблице 2.
Таблица 2 – Результаты измененной модели (М2) по сравнению с данной (М1)
Этапы |
Загруженность устройств |
Кол-во необслуженных заявок |
Среднее время задержки в очереди | |||
М1 |
М2 |
М1 |
М2 |
М1 |
М2 | |
Пр. обработка |
0.935 |
0.972 |
31 |
8 |
122.249 |
38.486 |
Сборка |
0.999 |
0,999 |
135 |
86 |
262.401 |
160.541 |
Регулировка |
0.990 |
0.957 |
67 |
0 |
205.025 |
0.000 |
На основе полученного задания был выполнен прогон построенной модели в течение 24 ч. (1440 мин.). По результатам полученных данных были выявлены возможные места появления очередей и причины их возникновения. Также определено количество необслуженных заявок и среднее время задержки в очередях. Можно теперь сделать вывод о том, что в системе есть некоторые факторы, которые неблагоприятно влияют на её работоспособность.
Усовершенствовать данную систему можно путем предложенных изменений, т.е. за счет замены работающего оборудования в цеху на более новое, с наименьшими затратами времени. Что в свою очередь повысит производительность сборочного участка цеха и обеспечит оптимальную работу всей системы в целом, соответственно увеличится доход предприятия.
Приложение А
Синтаксис операторов GPSS использованных в данном курсовом проекте:
GENERATE (ГЕНЕРИРОВАТЬ)
GENERATE - вводит транзакты в модель. Формат: GENERATE A,B,C,D,E,F,G
А - среднее значение интервала времени;
В - разброс или модификатор среднего значения (по умолчанию ноль);
С - время появления первого транзакта;
D - общее число генерируемых транзактов;
Е - уровень приоритета каждого транзакта; (от 0 до 127, значение по умолчанию 0);
F - число параметров (по умолчанию 12);
G - тип параметра (F - полнословный, Н - полусловный - по умолчанию).
Вводит транзакты в модель, посылая их в следующий по порядку блок. Если в поле В не указана Функция, то интервал между поступлением транзактов определяется случайным числом, равномерно распределенным в диапазоне от (А - В) до (А + В). Если поле В является функцией (FN$), то этот интервал определяется произведением поля А на значение функции, заданной в поле В.
TRANSFER (ПЕРЕДАТЬ)
TRANSFER - изменяет движение транзакта в модели.
Формат: TRANSFER А,В,С,D
А - режим передачи
(пробел,.,ALL,BOTH,FN,P,PICK,
В - следующий блок;
С - следующий блок;
D - значение индекса, используемое в режиме ALL.
Транзакт направляется в блок, определяемый в соответствии с режимом передачи, указанным в поле А. Режимы передачи поля А:
Пробел - транзакт передается в блок, определяемый полем;
"." - статистический
режим; в поле А указано десятичное число,
выражающее
ALL - транзакт
последовательно пытается перейти в блоки,
определяемые
BOTH - транзакт последовательно пытается войти в блок В, затем в блок С, до тех пор, пока один из них станет доступным;
FN - функциональный режим: поле В является номером функции; следующий блок определяется суммой значения этой функции поля С;
Р - параметрический режим: поле В является номером параметра; следующий блок определяется суммой значения этого параметра и поля С;
PICK - выборочный режим: блок выбирается с равной вероятностью из блоков с номерами: В, B+l,..., С.
SBR - режим перехода
к подпрограмме: номер текущего блока
помещается в
параметр, указанный в поле С, а
транзакт передается в блок, номер которого
SIM - одновременный режим: проверяется одновременное
выполнение условий
беспрепятственного движения
транзактов в задерживающих блоках.
Если
условие выполняется, транзакт
передается в следующий блок, в противном
SPLIT (РАСЩЕПИТЬ)
SPLIT - создает копии текущего транзакта.
Формат: SPLIT A,B,C,D
А - число создаваемых копий;
В - следующий блок для копий;
С - параметр для хранения порядкового номера копии;
D - число параметров у каждой копии.
Поле А определяет число копий, которые образуются при входе текущего транзакта. Эти вновь созданные транзакты по умолчанию идентичны исходному транзакту. Копии входят в блок, указанный в поле В. Исходный транзакт поступает на следующий блок. Параметр поля С используется для задания порядковых номеров копий. Нумерация осуществляется следующим образом. Порядковый номер исходного транзакта увеличивается первым. Если он был равен нулю, при входе транзакта в блок он станет равным единице. Порядковый номер первой копии станет на единицу больше, чем у исходного транзакта номера последующих копий также увеличиваются на единицу. Если поле D не задано, копии имеют такое же, как у исходного транзакта число и тип параметров.
QUEUE (СТАТЬ В ОЧЕРЕДЬ)
QUEUE - помещает транзакт в конец очереди.
Формат: QUEUE А,В
А - номер очереди (числовое или символьное имя очереди);
В - число добавляемых к очереди элементов (по умолчанию 1).
Увеличивает текущее содержимое очереди, указанной в поле А, на значение в поле В. Если поле В не определено, увеличивает содержимое очереди на единицу. Транзакт может находиться в двух различных очередях одновременно.
Очередь имеет следующие стандартные числовые атрибуты:
Q$j - текущая длина очереди j;
Q$Xj - максимальная длина очереди j;
QA$j - средняя длина очереди j;
QC$j - число входов в очередь j;
QZ$j - число входов в очередь с нулевым временем пребывания (транзакт прошел
через блок QUEUE, не задерживаясь в очереди);
QT$j - среднее время пребывания в очереди j, включая нулевые входы;
QX$j - среднее время пребывания в очереди j, без нулевых входов.
SEIZE (ЗАНЯТЬ)
SEIZE - занимает устройство.
Формат: SEIZE А
А - номер устройства.
Транзакт пытается занять устройство, определенное полем А. Если прервано, транзакт задерживается в предыдущем блоке.
DEPART (ПОКИНУТЬ ОЧЕРЕДЬ)
DEPART - удаляет транзакт из очереди.
Формат: DEPART А,В
А - номер (имя) очереди;
В - число удаляемых из очереди элементов.
Удаляет текущий транзакт из очереди, указанной в поле А, и уменьшает содержимое очереди на значение поля В. транзакт может находиться одновременно в двух различных очередях.
ADVANCE (ЗАДЕРЖАТЬ)
ADVANCE - задерживает транзакт.
Формат: ADVANCE A,B
А - среднее время задержки (константа, если В не задано);
В - разброс относительно среднего значения, должен быть меньше или равен А.
Блок ADVANCE моделирует временную задержку транзакта в течение определенного интервала. Значение задержки по умолчанию равно нулю. Если поле В не является FN$, т время задержки является случайным числом, распределенным равномерно на интервале от (; + В) до (А - В). Если поле В является функцией FN$, то время задержки определяете произведением поля А на значение функции в поле В. Функция может быть использована для задания времени задержки с определенным средним значением и отклонением, зависящим от А.
RELEASE (ОСВОБОДИТЬ)
RELEASE - освобождает устройство.
Формат: RELEASE А
А - номер устройства (числовое или символьное имя освобождаемого устройства).
Устройство, указанное в поле А, освобождается и становится доступным для других транзактов. Освобождать устройство должен тот же транзакт, который его занимал.
TERMINATE (ЗАВЕРШИТЬ)
TERMINATE - удаляет транзакт.
Формат: TERMINATE A
А - величина, вычитаемая из содержимого счетчика завершений (поле А карты START).
Транзакт удаляется из модели и поступает в пассивный буфер. Если в поле А пробел, воздействия на счетчик завершений не происходит, в противном случае его значение уменьшается на величину, указанную в поле А.
START (НАЧАТЬ)
START - управление процессом моделирования.
Формат: START А,В,С,D
А - счетчик числа завершений;
В - подавление вывода на печать (В = NP);
С - промежуточный вывод статистики; 0 - распечатка списков.
Поле А определяет счетчик завершений при прогоне модели. При входе транзакта в блок TERMINATE с ненулевым значением поля А, содержимое поля А блока TERMINATE вычитается из остаточного значения счетчика - поля А карты START.
Прогон завершается, когда значение счетчика достигнет нуля. Указатель NP в поле В отменяет вывод стандартного отчета GPSS. Величина , указанная в поле С, определяет число завершений, по достижении которого выдается промежуточный отчет. Таким образом, можно получать статистические данные в определенных интервалах моделирования. Если поле D содержит 1, полученный отчет будет содержать списки текущих и будущих событий, а также списки пользователя.