- •Ю.Н.Алексеев
- •Имитационное моделирование в системе имитак
- •Москва – 2007
- •На заседании кафедры экономической кибернетики
- •7 Ноября 2007 г., протокол № 7
- •Оглавление
- •§1. Концепция системной динамики, реализованная в системе имитак. 4
- •§2. Механизмы визуального мышления в системе имитак. . . 8
- •§3. Встроенные функции системы имитак. . . . . . 17
- •§4. Базы данных и система имитак. . . . . . . 60
- •§1 Концепция системной динамики, реализованная в системе имитак
- •Р ис. 2 Диаграмма потоков контура обратной связи
- •§2 Механизмы визуального мышления в системе имитак
- •§3 Встроенные функции системы имитак
- •Стохастические функции
- •Временные функции
- •Функции имитации систем массового обслуживания
- •§3.1. Элементарные функции
- •§3.2. Переключательные функции
- •§3.3. Стохастические функции
- •§3.4. Встроенные функции работы с массивами
- •§3.5. Временные функции
- •§3.6. Функции имитации систем массового обслуживания
- •§3.7. Графические (маргинальные) функции
- •3.7.1Паутинообразная модель рынка с запаздыванием спроса
- •3.7.2 Паутинообразная модель рынка с запаздыванием предложения.
- •3.7.3 Паутинообразные модели с обучением.
- •§4. Базы данных и система имитак
- •§4.1. Создание базы данных и ее заполнение
- •3)Создание модели, интегрированной с базой данных.
- •§4.2. Создание в операционной системе имени источника данных odbc (dsn- data source name).
- •§4.3. Создание модели, интегрированной с базой данных.
- •Заключение
§3.3. Стохастические функции
Среди часто встречающихся встроенных функций следует выделить RAND и EVENT. Предсказуемость случайных величин невозможна без компьютерной поддержки. Поэтому в данном параграфе в рассматриваемых примерах стохастические величины заменены детерминированными заранее заданными значениями.
Функция равномерно распределенной случайной величины (RAND)
Общий вид функции:
Ф.Н =RAND (A, В)
где А и В задают интервал распределения случайной величины (А < B).
Данная функция в каждом шаге моделирования генерирует случайное число внутри заданного интервала, причем множество полученных чисел подчиняется закону равномерного распределения.
Рассмотрим использование данной функции на примере дискретно стохастической зависимости в модели склада.
Пример 10. В имитационную модель склада надо ввести блок дискретных случайных величин. Такой блок состоит из дискретных величин, которые с определенной вероятностью появляются на выходе. Закон их появления задается таблицей:
Вероятность |
0.3 |
0.1 |
0.25 |
0.35 |
Величина |
100 |
150 |
250 |
200 |
Эта таблица показывает, например, что на выходе величина 100 может появиться не более 30% из всех появляющихся величин; величина 200 не более 35% и т.д. Алгоритм реализации такого блока может быть построен на принципе последовательной вложенности проверки вероятности, задаваемой как гистограмма. Для этого первоначально с помощью функции RAND создается датчик случайных чисел в диапазоне [0,1] и на основании проверки в каждом шаге случайного числа выбирается соответствующая величина. (Сумма всех вероятностей должна равняться единице)
Диаграмма потоков будет выглядеть следующим образом :
Рис. 33. Диаграмм потоков адаптации склада дискретной стохастикой
По данной диаграмме потоков (Рис 33) строится модель-программа , совместно с которой рассматриваются три шага моделирования. При анализе результатов трехшагового моделирования датчик случайных чисел заменен определенными детерминированными значениями, которые позволят проанализировать все возможные варианты работы программы.
Таблица 19 Модель-программа склада , адаптированного дискретной стохастикой
Модель-программа |
Время = 1 |
Время = 2 |
Время = 3 |
; Склад |
|
|
|
У С.Н=С.П+ПОС.ПН-ВЫБ.ПН |
С.1=100 |
С.2=50 |
С.3=150 |
; Датчик случайных чисел |
|
|
|
Д ДСЧ.Н=RAND(КОН1,1) |
ДСЧ.1=0.2 |
ДСЧ.2=0.5 |
ДСЧ.3=0.7 |
; Поставка 1 |
|
|
|
Д ПОС1.Н=CLIP(КОН3,КОН4,ДСЧ.Н,0.3) |
ПОС1.1=100 |
ПОС1.2=150 |
ПОС1.3=150 |
; Поставка 2 |
|
|
|
Д ПОС2.Н=CLIP(ПОС1.Н,КОН5,ДСЧ.Н,0.4) |
ПОС2.1=100 |
ПОС2.2=250 |
ПОС2.3=250 |
; Поставка |
|
|
|
Т ПОС.НБ=CLIP(ПОС2.Н,КОН6,ДСЧ.Н,0.65) |
ПОС.12=100 |
ПОС.23=250 |
ПОС.34=200 |
; Выборка |
|
|
|
Т ВЫБ.НБ=В |
ВЫБ.12=150 |
ВЫБ.23=150 |
ВЫБ.34=150 |
; Начальные значения |
|
|
|
И С=100 |
|
|
|
; Предел датчика случайных чисел |
|
|
|
К КОН1=0 |
|
|
|
; Первая величина |
|
|
|
К КОН3=100 |
|
|
|
; Вторая величина |
|
|
|
К КОН4=150 |
|
|
|
; Третья величина |
|
|
|
К КОН5=250 |
|
|
|
; Выбор |
|
|
|
К В=150 |
|
|
|
; Четвертая величина |
|
|
|
К КОН6=200 |
|
|
|
После проигрывания на компьютере указанной модели-программы мы будем иметь графическую картину результатов:
Рис.34. Графический вывод модели склада адаптированного дискретной стохастикой
И соответственно числовые результаты той же модели-программы
Таблица20. Числовые результаты модели-программы с дискретной стохастикой
ПОС |
ПОС1 |
ПОС2 |
С |
200 |
150 |
250 |
100 |
250 |
150 |
250 |
100 |
100 |
100 |
100 |
150 |
100 |
100 |
100 |
50 |
100 |
100 |
100 |
-50 |
150 |
150 |
150 |
-150 |
250 |
150 |
250 |
-200 |
250 |
150 |
250 |
-150 |
250 |
150 |
250 |
-100 |
250 |
150 |
250 |
-50 |
100 |
100 |
100 |
0 |
200 |
150 |
250 |
-100 |
250 |
150 |
250 |
-100 |
150 |
150 |
150 |
-50 |
100 |
100 |
100 |
-100 |
250 |
150 |
250 |
-200 |
200 |
150 |
250 |
-150 |
200 |
150 |
250 |
-150 |
250 |
150 |
250 |
-150 |
150 |
150 |
150 |
-100 |
Имитация случайного события (ЕVENT)
Общий вид функции:
Ф.Н=EVENT(A)
Функция EVENT имитирует совершение случайного события с известной вероятностью. Вероятность события за единицу времени задается аргументом этой функции:
Значением функции является либо единица (событие произошло), либо нуль. При каждом обращении к функции вероятность выдачи единицы составляет:
1-(1-A)DT
Рассмотрим на примере адаптации модели склада использование EVENT при введении во фрагмент так называемых Марковских процессов.(Указанный вариант модели является одной из разновидностей стрейтчарта).
Пример 11. Основой данной адаптации является представление поставок (а возможно выборки) зависящих от объекта, который может принимать два устойчивых состояний. При этом переход из одного устойчивого состояния в другое определяется Марковским процессом, т.е. зависит только от того состояния, в котором указанный объект находился в предыдущем состоянии. Такие переходы при Марковском процессе являются вероятностными и задаются соответствующей матрицей. Например, матрица следующего вида:
P11 P12
P21 P22
Означает, что, если указанный объект находится в первом состоянии, то с вероятностью Р11 он останется в этом же состоянии, а с вероятностью Р12 он перейдет во второе состояние. Если же объект находился во втором состоянии, то с вероятностью Р22 он останется в том же втором состоянии, а с вероятностью Р21 перейдет в первое состояние. В результате мы будем иметь:
Р11+Р12=1
Р21+Р22=1
При этом состояние объекта будет влиять на поставки товара на склад следующим образом: если объект будет находиться в первом состоянии, то поставки будут равняться П1, а если во втором состоянии, то П2. Теперь если склад как и на предыдущих примерах обозначить С, а объект обозначить как ДУ (дополнительный уровень), то диаграмма потоков указанного фрагмента может быть представлена следующим образом:
Рис. 35. Диаграмма потоков модели склада с учетом Марковских процессов
Таблицы21: Модель-программа склада, адаптированного Марковским процессом
Модель-программа |
Время = 1 |
Время = 2 |
Время = 3 |
; склад |
|
|
|
У С.Н=С.П+ПОС.ПН-ВЫБ.ПН |
С.1=0 |
С.2=100 |
С.3=400 |
; дополнительный уровень |
|
|
|
У ДУ.Н=ДУ.П+ВХДУ.ПН-ВЫДУ.ПН |
ДУ.1=0 |
ДУ.2=1 |
ДУ.3=0 |
; Поставка |
|
|
|
Т ПОС.НБ=ДУ.Н*П1+(1-ДУ.Н)*П2 |
ПОС.12=400 |
ПОС.23=200 |
ПОС.23=400 |
; Выборка |
|
|
|
Т ВЫБ.НБ=В |
ВЫБ.12=100 |
ВЫБ.23=100 |
ВЫБ.23=100 |
; Входной темп дополнительного уровня |
|
|
|
Т ВХДУ.НБ=EVENT(0.3)*(1-ДУ.Н) |
ВХДУ.12=1 |
ВХДУ.23=0 |
ВХДУ.23=1 |
; Выходной темп дополнительного уровня |
|
|
|
Т ВЫДУ.НБ=EVENT(0.4)*ДУ.Н |
ВЫДУ.12=0 |
ВЫДУ.23=1 |
ВЫДУ.23=0 |
; Начальные значения уровней |
|
|
|
И С=0 |
|
|
|
И ДУ=0 |
|
|
|
; Поставка, когда ДУ находится в первом состоянии |
|
|
|
К П1=200 |
|
|
|
; Поставка, когда ДУ находится во втором состоянии |
|
|
|
К П2=400 |
|
|
|
; Выборка |
|
|
|
К В =100 |
|
|
|
; Вероятность объекта перейти из второго состояния в первое |
|
|
|
К Р21=0.3 |
|
|
|
; Вероятность объекта ДУ перейти из первого состояния во второе |
|
|
|
К Р12=0.4 |
|
|
|