MDESim - дискретный симулятор событий MATLAB

Перевод статьи MDESim - MATLAB Discrete Event Simulator, автор - Jaroslav Sklenar

Что такое MDESim

MDESim - функция MATLAB с локальными декларациями, представляет собой событийно-ориентированный дискретный инструмент моделирования, написанный на языке MATLAB. Есть системные декларации, общие для всех или большинства дискретных имитационных моделей, которые, очевидно, не должны меняться. Пользовательская часть кода добавляет переменные и функциональные возможности конкретных имитационных моделей. Пользователи имеют полный контроль над моделью. Все важные объекты, типичные для дискретных инструментов моделирования, доступны:

  • Контроль времени (планирование и отмена событий)
  • Прозрачный сбор и вычисление описательной статистики
  • Работа со структурами данных в том числе приоритетных очередей
  • Функции поддержки моделирования систем массового обслуживания

Конечно, есть и другие возможности, такие как генерация случайных чисел, расширенная статистика, презентационные графики и т.д., которые уже поддерживаются стандартными функциями и инструментарием MATLAB. Обратите внимание, что до сих пор этот инструмент находится в самой начальной стадии развития, поэтому я буду рад принять замечания и предложения.


Когда использовать MDESim

MDESim был создан потому, что (к моему удивлению) нет подобного инструмента в настоящее время. Под термином "такой инструмент" я имею в виду общий, простой в использовании инструментарий для создания программных имитационных моделей дискретных событий в среде MATLAB, где пользователи имеют полный контроль над моделью.

Среди других тем я преподаю методы уменьшения дисперсии и оптимизации на основе моделирования. Поэтому мне нужно имитационные модели, представленные функциями, которые получают входные аргументы и возвращают результаты моделирования. Такие функции затем неоднократно будут вызываться из других функций, которые реализуют различные алгоритмы оптимизации и снижение дисперсии.

Инструмент может быть интересен для тех, кто хочет писать простые и среднего масштаба дискретные имитационные модели в среде MATLAB.

Пользователь MDESim находится в положении, сходном с программистом на дискретном языке моделирования на основе событий парадигмы. Он должен писать подпрограммы событий вместе с инициализацией модели и оценивать эксперимент. Большинство задач моделирования связанны с программированием путем активации функций MDESim.


Когда НЕ СТОИТ использовать MDESim

Не используйте MDESim, если вам не нравится программирование. Хотя программировать модели достаточно легко, понимание функций системы и функциональной модели кодирования не могут быть тривиальными. К тому же есть более простые пользовательские инструменты, которые поддерживают создание моделей без программирования. В среде MATLAB есть SimEvents и другие инструменты, такие как Arena, Extend, SIMUL8 и т.д. Просто обратите внимание, что полные версии таких инструментов стоят не так уж дешево.

Не используйте MDESim в случае больших исследований по моделированию. Основная задача при создании в MDESim - простота и ясность. Не скорость. Так что, если вам нужно написать модели сложных систем, используйте один из языков моделирования или, что более типично сегодня, библиотеку имитационных процедур в общем языке. Имеются библиотеки для языков, таких как Java, C ++, Python и т.д. Мой совет для Java-программистов - использование инструментария SSJ (стохастическое моделирование в Java).


Загрузка и установка

MDESim бесплатен для использования. Пожалуйста, напишите на нижеуказанный email о себе и вашем предполагаемом использовании MDESim. Тогда я пришлю вам детали загрузки.

Установка не требуется. Все модели являются функциями, которые, конечно, как правило, вызывают другие локальные или глобальные пользовательские функции. Все это я надеюсь, становится ясно из примеров. 


Требования

Единственное требование - Matlab. MDESim работает с версиями 7 выше, возможно, даже более старыми. Пожалуйста, сообщайте на email о любых проблемах с совместимостью.


Руководство по MDESim

Откройте руководство MDESim. В руководстве есть примеры моделей, включая код пользователя.


Автор

В случае возникновения каких-либо проблем, пишите мне:

Jaroslav Sklenar
Доцент
Департамент статистики и исследования операций
Университет Мальты
Msida MSD 2080
Мальта