Logo GenDocs.ru

Поиск по сайту:  

Загрузка...

Лекции по имитационному моделированию и анимации - файл Учебное пособие_Компьютерная имитация и анимация.doc


Лекции по имитационному моделированию и анимации
скачать (282.3 kb.)

Доступные файлы (1):

Учебное пособие_Компьютерная имитация и анимация.doc1403kb.17.03.2003 14:00скачать

содержание
Загрузка...

Учебное пособие_Компьютерная имитация и анимация.doc

1   2   3   4   5   6   7   8   9   10   11
Реклама MarketGid:
Загрузка...
^

SIMULATE Начало моделирования

STORAGE S(STA1),2 Задание станков в группе А


GENERATE RVEXPO(1,28) Поступление заготовок

ADVANCE RVNORM(3,32,10) Транспортировка заготовки

QUEUE LINE1 Занятие очереди перед станками группы А

ENTER STA1 Занятие станка из группы А

DEPART LINE1 Освобождение очереди перед станками группы А

ADVANCE 63,9 Обработка на станке группы А

LEAVE STA1 Освобождение станка группы А

ADVANCE RVNORM(5,12,5) Транспортировка детали

QUEUE LINE2 Занятие очереди перед станком типа Б

SEIZE STA2 Занятие станка типа Б

DEPART LINE2 Освобождение очереди перед станком типа Б

ADVANCE 55,5 Обработка на станке типа Б

RELEASE STA2 Освобождение станка типа Б

TERMINATE 1 Поступление деталей в накопитель

START 100 Прогон модели

RESET Сброс статистики

START 50 Повторный прогон

END Окончание моделирования
В модели длина начальной реализации задается первым оператором START - после обслуживания 50 транзактов произойдет сброс накопленных статистик. В СФО нас будут интересовать результаты обработки измерений коэффициента загрузки приборов многоканального устройства с именем STA1 и прибора STA2 и времени занятия этого прибора транзактами, полученными при пропуске 100 транзактов через модель, что задает второй оператор START, входящий в состав модели. СФО может быть получен после прогона модели способом описанным выше.

Вопросы выбора длины реализации статистической модели в настоящем учебном пособии не рассматриваются, они достаточно полно отражены в изданиях [1, 2].

При запуске приведенной выше GPSS/H-программы на экране появится сообщение об ошибке:

ERROR NUMBER 411 - Out of COMMON: Add/change REALLOCATE Stmt? See release notes

(ОШИБКА 411 - "Превышение COMMON" - Добавить/изменить REALLOCATЕ?).

Эта ошибка возникает потому, что при прогоне модели используется так называемая динамическая область памяти – COMMON. По умолчанию студенческая версия GPSS/H обращается к 10000 байтам памяти COMMON. Некоторым программам для успешного прогона необходимо больше чем 10000 байт области памяти COMMON. Если такая необходимость существует, вы можете использовать специальную опцию MAXCOM (максимизировать COMMON) или команду REALLOCATE (перераспределить). Использование MAXCOM или REALLOCATЕ зависит только от вас. Если совместно используются MAXCOM и REALLOCATE, то MAXCOM отменяет REALLOCATE.

Опция MAXCOM используется в командной строке, при запуске GPSS/H-программы. Например,

^ GPSSH PRIMER МАХСОМ

MAXCOM заставит GPSS/H максимально зарезервировать область памяти COMMON, до 32720 байтов для студентческой версии. Фактическое значение области памяти COMMON, которое MAXCOM будет способен зарезервировать зависит только от сложности вашей программы. Это не зависит от конфигурации ЭВМ или программного обеспечения.

Команда REALLOCATЕ используется непосредственно в программе, чтобы увеличить область памяти COMMON. REALLOCATЕ требует определения точного объема памяти. Синтаксис REALLOCATE :

REALLOCATE COM, bytes

«СОМ» это A-операнд, который является для GPSS/H кодом области памяти COMMON. B-операнд определяет число байтов памяти, которые необходимо добавить в область памяти COMMON.

REALLOСАТE удобнее размещать в начале GPSS/H-программы. Если при помощи REALLOСATE задано меньшее значение области памяти COMMON, которое необходимо для прогона программы, то появится сообщение с информацией о том какого размера должна быть область памяти COMMON. Это позволяет быстро исправить ошибку.

Например,

^ REALLOСATE COM,20000

Значение области памяти COMMON удвоиться по сравнению со значением, установленным по умолчанию. Вообще, если GPSS/H-программа не выполняется при 10000 байтов области памяти COMMON, то она должна заработать при значении в два раза большем. Следовательно, чтобы осуществить успешный прогон рассмотренного в этом параграфе примера моделирования к модели необходимо добавить команду REALLOCATE:
^

SIMULATE Начало моделирования

STORAGE S(STA1),2 Задание станков в группе А


REALLOCATE COM,20000 Увеличение размера динамической памяти

GENERATE RVEXPO(1,28) Поступление заготовок

ADVANCE RVNORM(3,32,10) Транспортировка заготовки

.

.

.

END
^ 4.11. Изменение последовательности псевдослучайных чисел
Для розыгрыша случайных чисел в GPSS/H используются 8 датчиков равномерного распределения в интервале (0, 1). Эти датчики являются датчиками псевдослучайных чисел, то есть если каждый цикл работы генератора псевдослучайных чисел начинается с одними и теми же исходными данными (начальными значениями), то на выходе получаются одинаковые последовательности чисел. Следовательно, при многократных прогонах модели стохастического процесса датчики будут при обращении к ним выдавать одну и ту же последовательность чисел. То есть результаты нескольких прогонов будут одинаковыми (не случайными). Для достоверности выводов на основе результатов моделирования необходимо провести несколько прогонов (действительно случайных) и найти среднее значение определяемой величины. Для этого необходимо изменить последовательность (алгоритм) случайных чисел. В GPSS/H, это возможно сделать, используя оператор RMULT.

^ Оператор RMULT - устанавливает начальные значения датчиков псевдослучайных чисел и изменяет их последовательность. По умолчанию начальные значения всех датчиков разные.

В операндах А, В, С, D, E, F, G и Н записываются начальные значения для датчиков 1-го, ... , 8-го соответственно. Эти значения могут быть любыми, но не превышающими 10 знаков.

Например,

^ RMULT 123,15,,,347

начальные значения (и последовательность псевдослучайных чисел) 1-го, 2-го и 5-го датчиков изменяются. Начальные значения всех остальных датчиков остаются неизменными.

Оператор RMULT ставят:

а) до первого оператора START для установления начальных значений генераторов;

б) между операторами STARTдля восстановления начальных значений генераторов;

в) между операторами START для определения новых начальных значений генераторов.

При прогоне моделей в рассмотренных выше примера можно заметить, что при использовании различных датчиков случайных чисел результаты тоже различны. Возникает вопрос - а какой из этих результатов верный. Для получения такого результата необходимо провести несколько прогонов, изменяя последовательность псевдослучайных чисел (изменяя номера генераторов). А затем взять среднее значение. Либо провести достаточно долгое моделирование.
^ 4.12. Проведение нескольких экспериментов за один прогон модели
При проведении имитационных экспериментов часто приходится выполнять несколько прогонов, лишь слегка изменяя модель. Например, необходимо исследовать влияние изменения интервала движения какого-либо транспортного средства или интервалов потока заготовок на показатели всей системы, то есть, провести эксперименты на модели с различным временем задержи транзакта в блоке ADVANCE. Для этого нужно запустить модель, проанализировать информацию в сформированном стандартном файле отчета моделирования, исправить временную задержку в нужном блоке модели, опять запустить модель и повторить эту последовательность действий.

Было бы удобно, если бы вместо серии выполнений независимых заданий с изменением программы все это можно было сделать за один прогон модели. То есть:

1. После завершения моделирования и распечатки статистических данных внести некоторые изменения в модель:

а) переопределить операнды одного или нескольких блоков модели без изменения типов самих блоков;

б) переопределить типы блоков;

в) расширить модель за счет добавления сегментов.
2. После модификации модели подготовить ее к повторному прогону:

а) сбросить всю статистику модели в нулевое состояние;

б) удалить все транзакты, которые оставались в модели в конце моделирования предыдущего прогона.

Каждый из перечисленных шагов может быть выполнен средствами языка GPSS/H. Шаг 2 выполняется при помощи оператора CLEAR.

^ Оператор CLEAR - удаляет все транзакты из модели, сбрасывает таймер абсолютного и относительного времени, а также всю статистику относительно объектов (если нет ограничений). Не воздействует на переменные и на генераторы случайных чисел.

Для изменения значений переменных, используют оператор LET (см. ниже). Изменить последовательность значений, произведенных генератором случайных чисел, возможно при помощи оператора RMULT. Их мы.

Формат CLEAR:

^ CLEAR n1,n2,...

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

Если CLEAR вставлен между двумя START, то после первого прогона все транзакты в модели будут удалены и вся статистика сброшена. GPSS/H продолжит выполнение модели, когда встретится со вторым оператором START:

START 1

CLEAR

START 1
Пример моделирования

Допустим, что в нижеприведенной модели необходимо определить загрузку прибора при различных временах обслуживания (13.4; 11.5; 9.2).
SIMULATE
^

GENERATE 19,7 Поступление заявок


SEIZE NIC Занятие прибора

ADVANCE 13,4 Обслуживание заявки

RELEASE NIC Освобождение прибора

TERMINATE 1 Удаление заявки

START 100 Запуск модели

END
Можно выполнять несколько серий последовательных прогонов, меняя в модели временную задержку в блоке ADVANCE. При использовании CLEAR имеется возможность объединить эти три прогона в один этап моделирования. Измененная модель, позволяющая это сделать, приведена ниже:
SIMULATE
^

GENERATE 19,7 Поступление заявок


SEIZE NIC Занятие прибора

ВОХ ADVANCE 13,4 Обслуживание заявки

RELEASE NIC Освобождение прибора

TERMINATE 1 Удаление заявки

START 100 Запуск модели
^

CLEAR Обнуление статистики


BOX ADVANCE 11,5 Переопределение операндов блока

START 100 Запуск модели

CLEAR Обнуление статистики

BOX ADVANCE 9,2 Переопределение операндов блока
1   2   3   4   5   6   7   8   9   10   11



Скачать файл (282.3 kb.)

Поиск по сайту:  

© gendocs.ru
При копировании укажите ссылку.
обратиться к администрации