
- •Компьтерный пакет имитационного моделирования Ithink
- •1. Уровни конструирования модели в Ithink
- •2.2. Пример построения модели
- •Обслуживание клиентов
- •3. Разработка пользовательского интерфейса
- •4. Задание массивов в Ithink
- •5. Подмодели
- •3 Дифференциальные уравнения, системы дифференциальных уравнений в Ithink
- •Библиография
Компьтерный пакет имитационного моделирования Ithink
1. Уровни конструирования модели в Ithink
Начальный этап проектирования в среде пакета Ithink предполагает концентрацию усилий на выделение прецедентов, отображающих наиболее важные аспекты поведения модели. Первый уровень называется уровнем прецедентов. С помощью данного уровня создается интерфейс пользователя с использованием кнопок, графиков, таблиц. Подробная работа на этом уровне будет рассмотрена ниже.
Следующий уровень это уровень идеограмм. Где непосредственно и моделируются связи между элементами модели.
Элементы идеограмм ВФП фонды, потоки, коннекторы (соединители), конверторы (преобразователи).
П
лоские
идеограммы ВФП
строятся в Ithink
с помощью лишь 4-х элементов (рис. 1).
Рис. 1. Базисные элементы идеограмм ВФП
Первый элемент фонд, используемый для представления объекта, который что-то накапливает. Так, фонд может накапливать модельные единицы денежной наличности, материальных запасов, инвентаря, служащих и т. Д. Фонды можно использовать для накопления и нематериальных модельных единиц, таких как уровень квалификации, производительность, мотивация, инфляционные ожидания, качество.
Второй элемент поток, который используется для представления «действий». Примеры потоков: наем сотрудников, поступление заказов, выплаты зарплаты и т. Д. Действия изменяют текущие уровни фондов, пополняют их или исчерпывают. Поток удобно ассоциировать с трубопроводом, который наполняет модельными единицами некоторый резервуар фонд, или его опустошает.
Третий элемент конвертор (преобразователь), который проще всего ассоциировать с переменной, формирующей текущее значение при вычислении алгебраического выражения (подобно выражению, формируемому при регулировании интенсивности потока). Конверторы, в частности, используются для задания и хранения постоянных значений.
Последний, четвертый элемент коннектор (соединитель), который можно ассоциировать с проводом, передающим информацию с целью регулирования интенсивности потоков. Коннекторы могут воздействовать на потоки или конверторы, но никогда на фонды [4].
Удаление
любого элемента осуществляется с помощью
инструмента «динамит»
.
Динамит используется для удаления
строительных блоков и объектов из
диаграмм, а также операторов из
спецификаций. Так как процедура возврата
выполненного действия (Undo)
не действует после применения динамита,
то элемент удаляется навсегда. Поэтому
пользоваться динамитом надо с особенной
осторожностью.
Третий уровень уровень исполняемых спецификаций на диалекте операторного языка динамического моделирования DINAMO. Текст этих спецификаций генерируется пакетом Ithink автоматически и внешне выглядит как последовательность достаточно легко читаемых операторов.
Для просмотра операторов (исполняемых спецификаций) можно перейти с уровня диаграмм ВФП вниз по стилизованной стрелке, расположенной слева над пиктограммой глобуса.
2.2. Пример построения модели
Рассмотрим модель управленческого синдрома «быстрого роста и краха». Схема содержит фонд Клиенты в обслуживании, поток Рост клиентуры и конвертор Фактор роста. Фонд и конвертор соединены с потоком соответствующими коннекторными связями. Постройте данную идеограмму (рис. 2).
Рис. 2. Схема уровня идеограмм
На уровне исполняемых спецификаций будут записаны операторы (рис. 3). В операторе – уравнении фонда записано: «Количество клиентов в обслуживании в момент t равно количеству клиентов в обслуживании в предыдущий момент времени плюс прибывшие клиенты за промежуток Δt».
Рис. 3. Схема уровня исполняемых спецификаций
По стилизованной стрелке вверх вернитесь на базовый уровень представления модели (уровень идеограмм ВФП) и нажмите один раз на пиктограмму глобуса, после чего Вы из режима визуализации ВФП перейдете в режим эмуляции. Пиктограмма глобуса тогда преобразуется в пиктограмму «хи-квадрат», а на изображении каждого элемента идеограммы, как показано на рис. 4, появится символ «?».
Рис. 4. Схема уровня идеограмм УФП в режиме эмуляции
Двойной щелчок на регуляторе потока вызовет диалоговую панель, изображенную на рис. 5. Обратите внимание, что в списке Required Inputs стоят имена фонда Клиенты в обслуживании и потока Рост клиентуры, которые помещаются Ithink туда автоматически. В схеме коннекторы мы использовали для того, чтобы показать, что каждый из этих элементов влиял на рост числа клиентов в обслуживании. Соответственно, Ithink требует, чтобы каждый из элементов использовался в операторе (уравнении) роста клиентуры. Определим рост клиентуры как:
Клиенты в обслуживании * Фактор роста
Для этого из списка Required Inputs выберите щелчком мыши первую переменную, с клавиатуры компьютера или с клавиатуры диалоговой панели введите символ «*», а затем выберите вторую переменную. Подтвердите свои действия нажатием клавиши OK.
Рис. 5. Определение управления для потока Рост клиентуры
Подобным образом (дважды щелкнуть по пиктограмме), определите начальное значение для фонда Клиенты в обслуживании, равное 100.
Значение для конвертора Фактор роста зададим равное «0.2».
Настроим средства визуализации результатов. Для этого обратитесь к палитре инструментов, выберите инструмент График и перетяните его на пространство расположения элементов модели (на внешнем уровне прецедентов или уровне идеограмм ВФП). Ithink сгенерирует соответствующий объект «Graph 1» и автоматически раскроет его пустым шаблоном графика. Чтобы визуализировать текущие значения Клиенты в обслуживании, дважды щелкните на поле шаблона и вызовите диалоговую панель, изображенную на рис. 6. Затем переместите имя Клиенты в обслуживании из списка «допустимых» в список «выбранных», выделив это имя и нажав кнопку «>>». Подтвердите действия нажатием клавиши «OK».
Рис. 6. Панель задания графической формы визуализации результатов
Выведите график на передний план, дважды щелкнув на пиктограмме «Graph 1». Запустите эмуляцию модели, нажав соответствующую кнопку панели управления, выполнив пункт Run из меню Run или нажав кнопку запуска на панели, генерируемой активизацией пиктограммы «бегущий человечек».
Масштаб для графического отображения Клиенты_в_обслуживании выбирается Ithink автоматически в пределах от 100 до 1100. Если этот масштаб не устраивает, его можно переопределить следующим образом. Выберите Клиенты в обслуживании из списка «выбранных» и нажмите один раз на двунаправленную стрелку справа от Клиенты в обслуживании. Сверху и снизу двунаправленной стрелки появятся горизонтальные линии, указывая на возможность изменения верхнего и нижнего предела. Поля масштаба становятся доступными для редактирования. Как пример, введите «0» в поле минимума и «1500» в поле максимума. Затем нажмите кнопку Set и OK для завершения диалога. После этого графическое отображение Клиенты в обслуживании будет визуализироваться в новом масштабе.
Если же использовать при эмуляции табличную форму визуализации, можно подобным же образом сформировать и настроить соответствующую таблицу. Для этого обратитесь к палитре инструментов, выберите инструмент Таблица и перетяните его на пространство расположения элементов модели.
При необходимости изменить характеристики представления табличных значений, можно дважды щелкнув на имени визуализируемого объекта для вызова соответствующей панели, вид которой изображен на рис. 7. Используя эту панель, можно редактировать точность, вид, масштаб представления.
Рис. 7. Панель редактирования форматов табличной формы визуализации
Ithink предоставляет возможность в режиме эмуляции анимировать идеограммы ВФП. Для настройки этой возможности выберите, например, Model Prefs из меню Model и задайте на вызванной панели (рис. 8) анимацию соответствующих элементов диаграммы.
Рис. 8. Панель, вызываемая по Model Prefs
Здесь под надписью Animate находятся три пиктограммы элементов диаграммы ВФП, из которых выделены фонд и поток (они и будут подвергаться анимации). Подтвердите кнопкой OK свое решение, запустите модель на эмуляцию и понаблюдайте за элементами идеограммы. Вы увидите, что фонд Клиенты в обслуживании через определенное время заполнится. Маленькие «иголки» покажут динамику интенсивности в регуляторе потока, ассоциированную с ростом числа клиентов Рост клиентуры в зависимости от Фактора роста.
При анализе результатов эмуляции поведения нашего простейшего фрагмента, обнаружите (с помощью графической и/или табличной формы визуализации), что уровень фонда Клиенты в обслуживании растет по экспоненте. Доопределим исчерпывающий поток (рис. 9), приравняв фактор падения значению «0.02», а падение клиентуры произведению текущего значения уровня фонда Клиенты в обслуживании и значения Фактор роста.
Рис. 9. Схема уровня идеограмм ВФП, дополненная потоком исчерпывания (падения) клиентуры
На уровне формальных спецификаций модели будет записано: