- •1. Стадии построения имитационных моделей.
- •2. Основные концепции системной динамики.
- •3. Размеченная диаграмма дпсс.
- •4. Построение концептуальной модели в системе имитак.
- •5. Работа с моделью программой в системе имитак и диагностика ошибок.
- •6. Расширение аппарата формализации системной динамики.
- •7. Функции имитации систем массового обслуживания.
- •8. Адаптация имитационных моделей одноканальной смо.
- •9. Имитация многоканальной смо.
- •10. Основные концепции работы с матричными переменными в системе имитак.
- •11. Векторные встроенные функции.
- •12. Имитация детерминированных цепей Маркова (putty - clay).
- •13. Этапы имитационного исследования.
- •14. Регрессионный анализ планирования экстремального эксперимента.
- •15. Полный факторный эксперимент.
- •16. Дробный факторный эксперимент.
- •17. Исследование уравнения регрессии, полученного при помощи дробных реплик.
- •18. Крутое восхождение по поверхности отклика.
- •19. Ортогональное планирование 2 - го порядка.
- •20. Анализ экономической ситуации (программная реализация курсового проекта).
- •21. Графические встроенные функции системы имитак.
- •22. Паутинообразная модель рынка №1.
- •23. Паутинообразная модель рынка №2 (с обучением).
- •24. Паутинообразная модель рынка №3 (с учетом запасов непроданного товара).
- •25. Имитация удовлетворения спроса скоропортящейся продукции.
- •26. Имитация кредитно – финансовых операций фирмы.
- •27. Моделирование производственной деятельности фирмы.
8. Адаптация имитационных моделей одноканальной смо.
Задачи: Адаптировать модель бензоколонки блоком, определяющим для каждой заявки ожидание её в очереди (это время длится от прихода заявки до поступления её на обслуживающий элемент, при этом собственное время обслуживания не учитывается).
Решение. 1. ДП:
Очередь
ГДОК
* время
Касса КВХ
ВПО
ОВПК
* время
2. Модель - программа
* касса
У Касса.Н = WAIT(Очередь.ПН)
* генератор длительности обслуживания клиентов
Д ГДОК.Н = WHOLE(RAND(0,5), 0)
* ключ по входу
Д КВХ.Н = SWITCH(1, 0, ГДОК.Н)
* очередь времени прихода клиентов
Д ОВПК.Н = FIFO(время, КВХ.Н, Касса.Н, 20)
* время простоя в очереди
Д ВПО.Н = (ОВПК.Н – время) * SWITCH(0, 1, ОВПК.Н)
* очередь
Т Очередь.НБ = FIFO(ГДОК.Н, КВХ.Н, Касса.Н, 20)
E
9. Имитация многоканальной смо.
Для имитации МСМО используется функция FIFON, которая в принципе работает как функция FIFO, но приспособлена к тому, что на входе имеется несколько исходных заявок, а на выходе несколько обслуживающих элементов. Вид функции:FIFON(А.Н, В.Н, С.Н,N, Д), гдеN– номер зарезервированного массива, остальное – как FIFO.
Введение аргумента Nсвязано с тем, что в трансляторе под массивы очередей заранее выделяется несколько групп ячеек памяти (в отличие от этого вFIFOгруппы выделяются по ходу трансляции). В связи со спецификой формирования очереди МСМО в модели – программе имеются 2 модификации функцииFIFON: входнаяFIFON(А.Н, В.Н, 1,N, Д) и выходнаяFIFON(0, 1, С.Н,N, Д)
Иллюстрация работы программы: (В1 – В4 – имитируется датчик случайных чисел)
t |
А1 |
А2 |
А3 |
А4 |
В1 |
В2 |
В3 |
В4 |
Ф1 |
Ф2 |
Ф3 |
С1 |
С2 |
С3 |
0 |
4 |
1 |
5 |
8 |
0 |
1 |
1 |
0 |
4 |
8 |
0 |
0 |
0 |
0 |
1 |
3 |
2 |
6 |
7 |
0 |
1 |
0 |
0 |
0 |
0 |
3 |
1,001 |
1,001 |
0 |
2 |
2 |
3 |
7 |
6 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
1 |
1 |
1,001 |
3 |
1 |
4 |
8 |
5 |
0 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
1 |
1 |
4 |
4 |
1 |
5 |
8 |
0 |
1 |
0 |
0 |
6 |
0 |
7 |
0,999 |
1 |
0,999 |
5 |
3 |
2 |
6 |
7 |
0 |
1 |
0 |
1 |
0 |
0 |
0 |
1,001 |
1 |
1,001 |
6 |
2 |
3 |
7 |
6 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
7 |
1 |
4 |
8 |
5 |
0 |
1 |
1 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
8 |
4 |
1 |
5 |
8 |
0 |
0 |
1 |
1 |
0 |
2 |
0 |
1 |
0,999 |
1 |
9 |
3 |
2 |
6 |
7 |
0 |
1 |
1 |
0 |
0 |
0 |
0 |
1 |
1,001 |
1 |
А1 С31 Ф1
В1
С1
А2 С32
FIFON
В2 (N = 5) Ф2
А3 С33 С2
В3
Ф3
А4 С34 А – заявка
В – ключ по входу
В4 СЗ – сборщик заявок С3
Модель – программа:
* обслуживающие элементы
У С1.Н = WAIT(Ф1.ПН)
У С2.Н = WAIT(Ф2.ПН)
У С3.Н = WAIT(Ф3.ПН)
* управление входами очередей
Д В1.Н = 0 - все заявки приходят
Д В2.Н = EVENT(0,8) - только 20%
Д В3.Н = EVENT(0,5) - только 50%
Д В4.Н = EVENT(0,5) - только 80%
* генератор времен обслуживания заявок
Д А1.Н = QUANT(М1,0)
Д А2.Н = QUANT(М2,0)
Д А3.Н = QUANT(М3,0)
Д А4.Н = QUANT(М4,0)
* собиратель заявок
Д СЗ1.Н = FIFON(А1.Н, В1.Н, 1, 5, 20)
Д СЗ2.Н = FIFON(А2.Н, В2.Н, 1, 5, 20)
Д СЗ3.Н = FIFON(А3.Н, В3.Н, 1, 5, 20)
Д СЗ4.Н = FIFON(А4.Н, В4.Н, 1, 5, 20)
* распределение заявок
Т Ф1.НБ = FIFON(0, 1, С1.Н, 5, 20)
Т Ф2.НБ = FIFON(0, 1, С2.Н, 5, 20)
Т Ф3.НБ = FIFON(0, 1, С3.Н, 5, 20)
Е
И М1 = 4/3/2/1
И М2 = 1/2/3/4
И М3 = 5/6/7/8
И М4 = 8/7/6/5
Е
Примечание: Ф.Н = QUANT(М, К), где К – массив, задается во 2 разделе И М=m1/m2/m3/m4 , К – ключ, имеет следующие режимы:
Если 0 <= K < 1, то Ф (t) = mi, гдеi– очередной элемент массива
Ф (t) = ЕслиK > 1, то Ф (t) = 0 иiне увеличивается на единицу
Если K < 0, то Ф (t) = mi, гдеi=WHOLE (MOD(K))