
- •Ю.Н.Алексеев
- •Имитационное моделирование в системе имитак
- •Москва – 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. Создание модели, интегрированной с базой данных.
- •Заключение
§2 Механизмы визуального мышления в системе имитак
Пример построения диаграммы потоков с использованием механизмов визуального мышления рассмотрим на модели имитации охлаждения чашечки кофе в комнате. Словесное описание процесса состоит в следующем:
Пример 1: Чашечка кофе соответственно содержит определенное количество калорий. При известной теплоемкости, можно определить температуру чашечки кофе. Полученная температура чашечки кофе сравнивается с комнатной температурой Разность температур, умноженная на величину теплоотдачи, позволяет определить, какое число калорий будет переходить в каждый момент времени от чашечки кофе в комнату. На эту величину будет уменьшаться количество калорий каждый период до окончательного выравнивания температур комнаты и чашечки кофе. Такому словесному описанию будет соответствовать диаграмма причинно-следственных связей, представленная на рисунке (Рис. 4)
Рис. 4. Диаграмма причинно-следственных связей модели «Чашечка кофе».
При использовании механизмов визуального мышления построение диаграммы причинно-следственных связей может быть опущено. В результате диаграмма потоков будет получена сразу на рабочем поле монитора.
В качестве уровня берем количество калорий в чашечке кофе. Чтобы изобразить уровень на рабочем поле монитора нужно:
1)
Щелкнуть левой кнопкой мыши по пиктограмме
(уровень) в панели инструментов (Рис.
5)
Рис. 5. Рабочая линейка инструментов
2) Передвинуть указатель мыши на рабочее поле монитора (поле монитора равноценно главному окну программы) (Рис. 6)
Рис. 6. Главное окно программы VisualImitak
В системе ИМИТАК использована концепция «системной динамики», разработанная в течение тридцатилетней эксплуатации в учебном процессе Государственного Университета Управления системы ИМИТАК (Сначала на Раздан-3, затем на Минск-32, затем на ЕС-1045 и, наконец, на персональных компьютерах).
4) В результате на рабочем поле монитора получим диалоговое окно редактирования уравнений. Такое окно имеет типовой вид (Рис. 7): четыре окошка редактирования
окошко «Имя переменной»
окошко «Формула для расчета»
окошко «Начальное значение»
окошко «Комментарий (необязательный)»
В главном окне программы присутствуют также окошки для быстрого ввода чисел, окошки для встроенных функций, и окошки установленных связей между переменными:
окошко «Число»
окошко «Операции»
окошко «Функции»
окошко «Переменные»
Рис. 7. Диалоговое окно редактирования уравнения в системе ИМИТАК.
5) Далее частично заполняется диалоговое окно редактирования уравнения (имя переменной, комментарий),
6) После этого необходимо щелкнуть левой кнопкой мыши на клавишу ОК в окне редактирования уравнения,
7) В результате на рабочем поле монитора будет следующая картинка (Рис. 8), где переменная будет иметь имя КК (количество калорий)
Рис. 8. Первый фрагмент построения диаграммы потоков модели «Чашечка кофе»
Чтобы определить следующую переменную – «температуру чашечки кофе», проделаем следующую процедуру:
А) щелкнув левой
клавишей мыши по идеограмме
(дополнительное выражение), переведем
указатель мыши на рабочее поле монитора,
приведенного на Рис.
8.
Б) когда указатель мыши окажется в нужном месте, надо снова щелкнуть левой кнопкой мыши, в результате чего на рабочем поле монитора появится идеограмма дополнительной переменной ТЧК (температура чашечки кофе)
В) В данном
фрагменте надо еще ввести константу
«теплоемкость». Для этого щелкнув левой
кнопкой мыши по идеограмме
(константа), переведем ее на рабочее
поле монитора. Когда указатель мыши
будет на нужном месте еще раз, щелкнем
указателем мыши и получим константу ТЕ
(теплоемкость).
Г) И, наконец, в
этот фрагмент надо ввести две связи,
для чего берем идеограмму
(установка связи) из набора инструментов
(Рис. 5)
и из центра переменной, откуда идет
связь «тащим» стрелку до переменной,
куда идет связь. Например, от переменной
КК к переменной ТЧК, а также от константы
ТЕ к переменной ТЧК.
Е) В результате мы будем иметь второй фрагмент диаграммы потоков (Рис. 9)
Рис. 9. Второй фрагмент построения диаграммы потоков модели «Чашечка кофе»
Аналогично предыдущему действию определяем следующую переменную- «разность температур комнаты и чашечки кофе» для чего проделаем следующую процедуру:
1) Щелкнув левой клавишей мыши по идеограмме (дополнительное выражение), переведем указатель мыши на рабочее поле монитора, приведенного на Рис. 9.
2) Когда указатель мыши окажется в нужном месте, снова щелкнуть левой кнопкой мыши, в результате на рабочем поле монитора появится идеограмма дополнительной переменной РТ (разность температур)
3) В данном фрагменте надо еще ввести константу «температуру комнаты». Переведем ее на рабочее поле монитора. Когда указатель мыши будет на нужном месте еще раз, щелкнем указателем мыши и получим константу ТК (температура комнаты)
4) И, наконец, в этот фрагмент надо ввести две связи, для чего берем идеограмму (установка связи) из набора инструментов (Рис. 5) и из центра переменной, откуда идет связь, «тащим» стрелку до переменной, куда идет связь. Например, от переменной ТЧК к переменной РТ, а также от константы ТК к переменной РТ.
5) В результате мы имеем третий фрагмент диаграммы потоков (Рис. 10)
Рис. 10. Третий фрагмент построения диаграммы потоков модели «Чашечка кофе»
Последний фрагмент диаграммы потоков указанной имитационной модели может быть сформирован следующим образом:
1)
Щелкнув левой клавишей мыши по идеограмме
(темпа), переведем указатель мыши на
рабочее поле монитора, приведенного на
Рис. 10.
2) Когда указатель мыши окажется в нужном месте, снова щелкнуть левой кнопкой мыши, в результате на рабочем поле монитора появится идеограмма темпа УКЧК (уменьшение калорий в чашечке кофе).
3) В данном фрагменте надо еще ввести константу «теплоотдача». Для этого щелкнув левой кнопкой мыши по идеограмме (константа), переведем ее на рабочее поле монитора. Когда указатель мыши будет на нужном месте еще раз, щелкнем указателем мыши и получим константу ТО (теплоотдача).
4) И, наконец, в этот фрагмент надо ввести две связи, для чего берем идеограмму (установка связи) из набора инструментов (Рис. 5) и из центра переменной, откуда идет связь, «тащим» стрелку до переменной куда идет связь. Например, от переменной РТ к переменной УКЧК, а также от константы ТО к переменной УКЧК.
В результате окончательный вид диаграммы потоков имитационной модели «охлаждения чашечки кофе в комнате» будет иметь вид, представленный на Рис. 11.
Рис. 11. Окончательная диаграмма потоков модели «Чашечка кофе»
После построения диаграммы потоков целесообразно перейти к построению модели-программы. Для этого воспользуемся инструментальной панелью Рис. 12.
Рис. 12. Инструментальная панельсистемыVisualImitak
Выбираем кнопку
,
после нажатия которой, на диаграмме
потоков все идеограммы, у которых не
определена правая часть после знака
равенства будет иметь красный цвет.
Если мы возьмем рабочее поле, представленное на Рис. 11 и два раза щелкнем левой частью мышки на переменную КК, то появится окно, подобное Рис. 7. Далее левой клавишей мышки, выбирая последовательно:
из окошка «Переменные» имя уровня КК,
из окошка «Операции» расширение .П
из окошка «Операции» знак –
из окошка «Переменные» имя темпа УКЧК
из окошечка «Операции» расширение .ПН
мы получаем в окошке «Формула расчета» уравнение уровня КК (Количество калорий) в терминах ИМИТАК «Количество калорий» мы вводим в окошечко «Комментарий», а в окошечко «Начальное значение» числовое значение уровня, с которого начинается собственно моделирование. В результате мы будем иметь следующую картину, представленную на Рис. 13.
Рис. 13. Диалоговое окно редактирования переменной КК (количество калорий).
Следующее уравнение будет организовано аналогично предыдущему Рис. 14
Рис. 14. Диалоговое окно переменной ТЧК (температура чашечки кофе)
Таким же способом можно получить диалоговые окна редактирования дополнительной переменной РТ (Рис. 15) и темпа УКЧК (Рис. 16)
Рис. 15. Диалоговое окно редактирования уравнения РТ(разность температур)
Рис. 16. Диалоговое окно редактирования УКЧК(уменьшение калорий в чашечке кофе)
В результате в диаграмме потоков (Рис. 11) все операторы из красных превращаются в черные, что означает, что все уравнения модели-программы определены.
Теперь можно
запускать саму модель идеограммой
.
После этого возможна диагностика ошибок
(Рис. 17)
Рис. 17. Окно диагностики ошибок
Для оперативной
отладки модели первоначально надо
попробовать щелкнуть идеограммой
.
Если после этого ошибка не исправится,
то необходимо щелкнуть идеограммой
,
и мы получим (Рис.
18)
Рис. 18. Диалоговое окно перемещения операторов
Чтобы получить работоспособную модель-программу необходимо:
1) Щелкнуть левой клавишей мыши по второму оператору (Рис. 18) (это связано с тем, что в правой части используется переменная ТЧК, которая рассчитывается в третьем операторе).
2) С помощью клавиши «ВНИЗ» опускаем оператор, рассчитывающий переменную ТЧК на строку ниже
3) С помощью клавиши «ОК» мы фиксируем перемещение оператора и получаем работающую модель-программу
Рис. 19. Окно с отлаженной моделью-программой
Чтобы запустить модель-программу на инструментальной панели (Рис. 12) «нажимаем» с помощью мыши кнопку . В результате на мониторе мы получаем следующую картину:
Рис. 20. Окно результатов моделирования
Теперь, если с помощью мышки мы отметим в левом столбце интересующие нас переменные, то при нажатой кнопке «График» мы будем иметь следующий вид (Рис. 21).
Рис. 21. Окно графических результатов модели «Чашечка кофе»
А если выбрать кнопку «Таблица» то мы будем иметь:
Таблица 3. Числовые результаты моделирования «Чашечки кофе»
РТ КК ТЧ УКЧК |
0 -20 0 -300 |
150 -5 15 -75 |
225 2.5 22.5 37.5 |
187.5 -1.25 18.75 -18.75 |
206.25 0.625 20.625 9.375 |
196.875 -0.3125 19.6875 -4.6875 |
201.563 0.15625 20.1563 2.34375 |
199.219 -0.078125 19.9219 -1.17188 |
200.391 0.0390625 20.0391 0.585938 |
199.805 -0.0195313 19.9805 -0.292969 |
200.098 0.00976563 20.0098 0.146484 |
199.951 -0.0048828 19.9951 -0.0732422 |
Рассмотренный выше пример соответствует простейшим вариантам построения имитационных моделей, в которых в правой части оператора встречаются только арифметические выражения.