- •Понятие системы. Эффективность систем
- •Параметры и характеристики систем
- •Модель. Классификация моделей
- •Методы моделирования
- •Метод статистических испытаний
- •Составляющие имитационной модели
- •События в имитационной модели
- •Основные характеристики простейшей смо
- •Компоненты дискретно-событийной имитационной модели и их организация
- •Определение событий и переменных в имитационной модели
- •Smpl: список событий
- •Smpl: список средств
- •Smpl: список очередей
- •Операции инициализации языка smpl
- •Операции над списком событий языка smpl
- •Операции над средствами языка smpl
- •Операции над очередями языка smpl
- •Моделирование простейшей смо на smpl
- •Генераторы случайныхчисел
- •Метод обратной функции и его использование для гененрирования непрерывных случайных величин
- •Метод обратной функции и его использование для гененрирования дискретных случайных величин
- •Выходные данные и стохастические процессы моделирования
- •Характеристики случайного процесса
- •Статистический анализ выходных данных автономной системы. Типы имитационного моделирования.
- •Переходное и установившееся поведение стохастического процесса
- •Оценка средних значений при переходном режиме моделирования
- •Получение заданной точности при переходном режиме моделирования
- •Проблема начального переходного процесса
- •Процедура Велча
- •Общие принципы построения факторных планов
- •Полный факторный эксперимент 2k, построение планов
- •Оценка главных эффектов и эффектов взаимодействия
- •Поверхности отклика и метамодели. Методы поиска оптимума
- •Имитационная модель системы управления запасами
- •Логика программы
- •Общие принципы оценки адекватности моделей
- •Особенности оценки адекватности им
- •Методы верификации моделирующих компьютерных программ
- •Этапы имитационного моделирования
-
Моделирование простейшей смо на smpl
1. Определение основных событий
Событие |
Тип события |
Поступление требования в систему |
1 |
Уход требования из системы по окончании обслуживания |
2 |
Основная программа
uses SMPL;
Const evGen = 1 //приход клиентов и резервирование устройства
evRel = 2 // освобождение устройства
evEnd = 3 // окончание моделирования
Procedure Smpl_model;
Программа инициализации
_TIME := 0; // текущее время
transact := 1; //номер транзакта
// далее объявляются все устройства и очереди;
D := _DEVICE(‘master’);
Q := _QUEUE(‘nakopitel’);
//планируем начальное событие
_SCHEDL(evGen,IRANDOM(10,20),transact);
//планируем окончание моделирования
_SCHEDL(evEnd,480,200);
Управляющая секция
Управляющая секция (обычно задается циклом)
repeat
_CAUSE(EVENT,transact);
переменная EVENT должна быть определена в секции инициализации.
Рабочие секции
case EVENT of
…
until EVENT = evEnd;
evGen:
begin
//Секция первого события
if _STATUS(D)=0 then //если устройство свободно
begin
_RESERVE(D,transact); //занимаем его
_SCHEDL(evRel, IRANDOM(8,16),transact);
// и планируем его освобождение
end
else // иначе ставим транзакт в очередь
_EnQUEUE(Q,transact,0,1);
inc(transact);
_SCHEDL(evGen,IRANDOM(10,20),transact);
//планируем приход следующего клиента
end;
evRel: //Секция второго события
begin
_RELEASE(D); //освобождение устройства
if LENGTH(Q)>0 then //если очередь не пуста
begin // то снимаем транзакт с вершины очереди
transact := _HEAD(Q,AS);
_RESERVED(D,transact); //резервируем устройство
_SCHEDL(evRel,IRANDOM(8,16),transact);
//и планируем его освобождение
end;
Вывод результата моделирования
_MONITOR(F);
_REPORT(F);
Основная процедура
begin
assign(F,’file’);
rewrite(F);
Smpl_model; //обращение к процедуре
close(F);
end.
-
Генераторы случайныхчисел
Возможно использование трех способов генерации случайных чисел:
- аппаратный (физический);
- табличный (файловый);
- алгоритмический (программный);
Аппаратный способ предполагает использование случайных сигналов физического происхождения. Чаще всего в таких генераторах используются шумы в электроныых и полупроводниковых приборах, явления распада радиоактивных элементов.
Один из вариантов реализации заключается в следующем.
Возьмем фиксированный промежуток времени Δt. Если в его течение уровень напряжения превысит пороговое значение четное число раз – записывается ноль, нечетное – единица.
Для получения m-разрядного случайного числа параллельно соединяют m – генераторов.
Достоинства метода:
- запас чисел не ограничен;
- не занимается место в памяти ЭВМ;
Недостатки:
- требуется периодическая проверка и настройка;
- нельзя воспроизвести последовательности;
- требуется специальное устройство;
Табличный способ основан на использовании специальных таблиц, в которых размещены случайные числа, распределенные по какому-либо закону.
В компьютерных моделях такой способ применяется довольно редко.
Достоинства метода:
- требуется однократная проверка;
- можно воспроизвести последовательности;
Недостатки:
- ограниченный запас чисел;
- занимает существенное место в памяти (при обращении к внешней памяти требуется время);
Алгоритмический способ основан на формировании случайных чисел в ЭВМ с помощью специальных алгоритмов и реализующих их программ.
С этой точки зрения под генератором случайных чисел (или генератором псевдослучайных чисел согласно заданному распределению вероятностей и обладающий свойством видимости случайности).
Достоинства:
- требуется однократная проверка;
- можно многократно воспроизводить последовательности чисел;
- занимает мало места в памяти;
- не используются внешние (аппаратные) устройства.
Недостатки:
- запас чисел ограничен периодом генератора;
- более высокие затраты машинного времени на расчет.
В качестве базового случайного процесса используется повторная выборка из генеральной совокупности значений, равномерно распределенных в интервале (0;1). Используются рекурентные формулы , где i-случайное число определяется начиная с первого случайного числа.
Чаще всего используются так называемые конгруэнтные методы (наиболее распространенный – мультипликативный).
В основе конгруэнтных процедур лежит понятие конгруэнтности.
Два целых числа a и b конгруэнтны (сравнимы) по модулю m, где m – целое число, тогда и только тогда, когда существует такое целое число k, что a-b = km, т.е. если разность a-b делится на m и если числа a и b дают одинаковые остатки от деления на абсолютную величину m.
Рекуррентное соотношение имеет вид:
Xi+1 = λXi mod M,
где λ,X0 – целые положительные нечетные числа;
М – наиболее удобно выбирать так: M = pg;
где p – основание используемой системы счисления.
g – количество разрядов в получаемых случайных числах.
Пример:
Пусть необходимо получить случайное число , равномерно распределенное в интервале (0;1).
Пусть λ (ядро) = 5167;
X0 = 3729
M = 104 = 10000;
Тогда λXi = 19267743 и случ. число = 0,7743
на 2-м шаге Xi = 7743 , λXi = 40008081, случ. число = 0,8081
и т.д…
Количество случайных чисел, выработанных генератором до того, как они начнут повторяться, называются периодом или длинной генератора.