AnyLogic - инструмент имитационного моделирования, с которым работают более 15000 пользователей в 60 странах мира. Программный продукт предназначен для проектирования и оптимизации бизнес-процессов или любых сложных систем, таких как производственный цех, аэропорт, госпиталь и т.д. Инструмент поддерживает все методы бизнес моделирования – системную динамику, дискретно-событийное (процессное) и агентное моделирование. Основной упор в разработке продукта сделан на его гибкость и простоту использования для неопытных в создании моделей пользователей. Среди пользователей крупные международные компании, государственные структуры, международные альянсы: НАТО, НАСА, Boeing , , IBM , General Motors , HSBS , PWC , Accenture , Jonson&Jonson.

2014: AnyLogic 7

1990-1998

В начале 1990-х годов в компьютерной науке наблюдался большой интерес к построению математически трактуемого описания взаимодействия параллельных процессов. Что сказалось на подходах к анализу корректности параллельных и распределенных программ. Группа ученых из Санкт-Петербургского политехнического университета разработала программное обеспечение для анализа корректности системы; новый инструмент назвали COVERS (Параллельная Верификация и Моделирование) . Анализируемая система процессов задавалась графически, с помощью описания её структуры и поведения отдельных параллельных компонентов, которые могли взаимодействовать с окружением - с другими процессами и средой. Инструмент использовался в исследовательских проектах компании Hewlett-Packard .

В 1998 году успех этого исследования вдохновил лабораторию организовать коммерческую компанию с миссией создания нового программного обеспечения для имитационного моделирования. Акцент при разработке ставился на прикладные методы: моделирование стохастических систем, оптимизацию и визуализацию модели. Новое программное обеспечение, выпущенное в 2000 г., было основано на последних преимуществах информационных технологий: объектно-ориентированный подход, элементы стандарта UML, языка программирования Java, современного GUI и т. д.

Продукт получил название AnyLogic, потому что он поддерживал все три известных метода моделирования :

  • системная динамика;
  • дискретно-событийное моделирование|дискретно-событийное (процессное) моделирование;
  • агентное моделирование.

А также любую комбинацию этих подходов в пределах одной модели. Первой версии был присвоен индекс 4 - Anylogic 4.0, так как нумерация продолжила историю версий предыдущей разработки - COVERS 3.0.

Огромный шаг вперед был сделан в 2003 году, когда был выпущен AnyLogic 5, ориентированный на бизнес-моделирование. С помощью AnyLogic стало возможным разрабатывать модели в следующих областях :

AnyLogic & Java

AnyLogic включает в себя графический язык моделирования, а также позволяет пользователю расширять созданные модели с помощью языка Java. Интеграция компилятора Java в AnyLogic предоставляет более широкие возможности при создании моделей, а также создание Java апплетов, которые могут быть открыты любым браузером. Эти апплеты позволяют легко размещать модели AnyLogic на веб-сайтах. В дополнение к Java апплетам, AnyLogic Professional поддерживает создание Java приложений, в этом случае пользователь может запустить модель без инсталляции AnyLogic.

Методы имитационного моделирования

Модели AnyLogic могут быть основаны на любой из основных парадигм имитационного моделирования: дискретно-событийное моделирование, системная динамика, и агентное моделирование.

Системная динамика и дискретно-событийное (процессное) моделирование, под которым мы понимаем любое развитие идей GPSS - это традиционные устоявшиеся подходы, агентное моделирование - относительно новый. Системная динамика оперирует в основном с непрерывными во времени процессами, тогда как дискретно-событийное и агентное моделирование - с дискретными.

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

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

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

При разработке моделей в AnyLogic можно использовать концепции и средства из нескольких методов моделирования, например, в агентной модели использовать методы системной динамики для представления изменений состояния среды или в непрерывной модели динамической системы учесть дискретные события. Например, управление цепочками поставок при помощи имитационного моделирования требует описания участников цепи поставок агентами: производители, продавцы, потребители, сеть складов. При этом производство описывается в рамках дискретно-событийного (процессного) моделирования, где продукт или его части - это заявки, а автомобили, поезда, штабелёры - ресурсы. Сами поставки представляются дискретными событиями, но при этом спрос на товары может описываться непрерывной системно-динамической диаграммой. Возможность смешивать подходы позволяет описывать процессы реальной жизни, а не подгонять процесс под доступный математический аппарат.

Среда моделирования

  • Action charts (блок-схемы) используется для построения алгоритмов. Применяется в дискретно-событийном моделировании (маршрутизация звонков) и агентном моделировании (для логики решений агента).
  • Process flowcharts (процессные диаграммы) основная конструкция, используемая для определения процессов в дискретно-событийном моделировании.
  • Среда моделирования также включает в себя: низкоуровневые конструкции моделирования (переменные, уравнения, параметры, события и т.п), формы представления (линии, квадраты, овалы и т.п), элементы анализа (базы данных, гистограммы, графики), стандартные картинки и формы экспериментов.

    Среда моделирования AnyLogic поддерживает проектирование, разработку, документирование модели, выполнение компьютерных экспериментов с моделью, включая различные виды анализа - от анализа чувствительности до оптимизации параметров модели относительно некоторого критерия.

    Библиотеки AnyLogic

    AnyLogic включает в себя набор следующих стандартных библиотек:

    • Enterprise Library разработана для поддержки дискретно-событийного моделирования в таких областях как Производство, Цепи поставок, Логистика и Здравоохранение. Используя Enterprise Library, Вы можете смоделировать системы реального мира с точки зрения заявок (англ. entity) (сделок, клиентов, продуктов, транспортных средств, и т. д.), процессов (последовательности операций, очередей, задержек), и ресурсов. Процессы определены в форме блочной диаграммы.
    • Pedestrian Library создана для моделирования пешеходных потоков в «физической» окружающей среде. Это позволяет Вам создавать модели с большим количеством пешеходного трафика (как станции метро, проверки безопасности, улицы и т. д.). Модели поддерживают учет статистики плотности движения в различных областях. Это гарантирует приемлемую работу пунктов обслуживания с ограничениями по загруженности, оценивает длину простаивания в определенных областях, и обнаруживает потенциальные проблемы с внутренней геометрией - такие как эффект добавления слишком большого числа препятствий - и другими явлениями. В моделях, созданных с помощью Pedestrian Library, пешеходы двигаются непрерывно, реагируя на различные виды препятствий (стены, различные виды областей) так же как и обычные пешеходы. Пешеходы моделируются как взаимодействующие агенты со сложным поведением. Для быстрого описания потоков пешеходов Pedestrian Library обеспечивает высокоуровневый интерфейс в виде блочной диаграммы.
    • Rail Yard Library поддерживает моделирование, имитацию и визуализацию операций сортировочной станции любой сложности и масштаба. Модели сортировочной станции могут использовать комбинированные методы моделирования (дискретно-событийное и агентное моделирование), связанные с действиями при транспортировке: погрузками и разгрузками, распределением ресурсов, обслуживанием, различными бизнес-процессами.

    Примечания

    Литература

    • Карпов, Ю. Г. Имитационное моделирование систем. Введение в моделирование с AnyLogic 5. - СПб: БХВ-Петербург, 2006. - 400 с. -

    ВВЕДЕНИЕ

    Имитационное моделирование

    Моделирование – метод решения задач, при использовании которого ис- следуемая система заменяется более простым объектом, описывающим реаль- ную систему и называемым моделью.

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

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

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

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


    Назначение и возможности инструментальной среды AnyLogic

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

    Пакет AnyLogic – профессиональный инструмент нового поколения, который предназначен для разработки и исследования имитацион- ных моделей. Разработчик продукта – компания «Экс Джей Текнолоджис» (XJ Technologies), г. Санкт-Петербург; электронный адрес: www.xjtek.ru.

    AnyLogic был разработан на основе новых идей в области информацион- ных технологий, теории параллельных взаимодействующих процессов и теории гибридных систем. Благодаря этим идеям чрезвычайно упрощается построение сложных имитационных моделей, имеется возможность использования одного инструмента при изучении различных стилей моделирования.

    Программный инструмент AnyLogic основан на объектно- ориентированной концепции. Другой базовой концепцией является пред- ставление модели как набора взаимодействующих, параллельно функциони- рующих активностей. Активный объект в AnyLogic – это объект со своим собственным функционированием, взаимодействующий с окружением. Он может включать в себя любое количество экземпляров других активных объектов.

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

    При разработке модели можно использовать элементы визуальной гра- фики: диаграммы состояний (стейтчарты), сигналы, события (таймеры), порты и т.д.; синхронное и асинхронное планирование событий; библиотеки актив-


    ных объектов.

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

    При разработке модели на AnyLogic можно использовать концепции и средства из нескольких классических областей имитационного моделирования: динамических систем, дискретно-событийного моделирования, системной ди- намики, агентного моделирования. Кроме того, AnyLogic позволяет интегриро- вать различные подходы с целью получить более полную картину взаимодейст- вия сложных процессов различной природы.

    В данном пособии описываются три имитационные модели: дискретно- событийная, системно-динамическая и агентная. Для каждой модели приводит- ся подробная постановка проблемы, разбирается структура модели, описывает- ся процесс построения модели в среде AnyLogic и изучается ее поведение.


    СРЕДСТВА ANYLOGIC ДЛЯ ИМИТАЦИОННОГО МОДЕЛИРОВАНИЯ СИСТЕМ

    Основные концепции

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

    Для реализации специальных вычислений и описания логики поведения объектов AnyLogic позволяет использовать мощный современный язык Java.

    Активные объекты, классы и экземпляры активных объектов . Основ- ными строительными блоками модели AnyLogic являются активные объекты , которые позволяют моделировать любые объекты реального мира.

    Класс в программировании является мощным средством, позволяющим структурировать сложную систему. Класс определяет шаблон, в соответствии с которым строятся отдельные экземпляры класса. Эти экземпляры могут быть определены как объекты других активных объектов.

    Активный объект является экземпляром класса активного объекта. Чтобы создать модель AnyLogic, вы должны создать классы активных объектов (или использовать объекты библиотек AnyLogic) и задать их взаимосвязи. AnyLogic интерпретирует создаваемые вами графически классы активных объектов в классы Java , поэтому вы можете пользоваться всеми преимуществами объект- но-ориентированного моделирования.

    Активные объекты могут содержать вложенные объекты, причем уровень вложенности не ограничен. Это позволяет производить декомпозицию модели на любое количество уровней детализации.


    Активные объекты имеют четко определенные интерфейсы взаимодейст- вия – они взаимодействуют со своим окружением только посредством своих интерфейсных элементов.

    Это облегчает создание систем со сложной структурой, а также делает активные объекты повторно используемыми. Создав класс активного объекта, вы можете создать любое количество объектов – экземпляров данного класса.

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

    Визуальная разработка модели . При построении модели используются средства визуальной разработки (введения состояний и переходов стейтчарта, введения пиктограмм переменных и т.п.), задания численных значений пара- метров, аналитических записей соотношений переменных и аналитических записей условий наступления событий. Основной технологией программирова- ния в AnyLogic является визуальное программирование – построение с помо- щью графических объектов и пиктограмм иерархий структуры и поведения ак- тивных объектов.

    Встроенный язык Java . AnyLogic является надстройкой над языком Ja- va – одним из самых мощных и в то же время самых простых современных объ- ектно-ориентированных языков. Все объекты, определенные пользователем при разработке модели с помощью графического редактора, компилируются в кон- струкции языка Java , а затем происходит компиляция всей собранной програм- мы на Java , задающей модель, в исполняемый код. Хотя программирование сведено к минимуму, разработчику модели необходимо иметь некоторое пред- ставление об этом языке (например, знать синтаксически правильные конст- рукции).

    Средства описания поведения объектов . Основными средствами описа-


    ния поведения объектов являются переменные, события и диаграммы состоя- ний. Переменные отражают изменяющиеся характеристики объекта. События могут наступать с заданным интервалом времени и выполнять заданное дейст- вие. Диаграммы состояний (или стейтчарты) позволяют визуально предста- вить поведение объекта во времени под воздействием событий или условий, они состоят из графического изображения состояний и переходов между ними (т.е. по сути это конечный автомат). Любая сложная логика поведения объектов модели может быть выражена с помощью комбинации стейтчартов, дифферен- циальных и алгебраических уравнений, переменных, таймеров и программного кода на Java . Алгебраические и дифференциальные уравнения записываются аналитически.

    Интерпретация любого числа параллельно протекающих процессов в модели AnyLogic скрыта от пользователя. Никаких усилий разработчика модели для организации квазипараллелизма интерпретации не требуется; отслеживание всех событий выполняется системой автоматически.

    Модельное и реальное время . Понятие модельного времени является базовым в системах имитационного моделирования. Модельное время – это условное логическое время, в единицах которого определено поведение всех объектов модели. В моделях AnyLogic модельное время может изменяться либо непрерывно, если поведение объектов описывается дифференциальными урав- нениями, либо дискретно, переключаясь от момента наступления одного собы- тия к моменту наступления следующего события, если в модели присутствуют только дискретные события. Моменты наступления всех планируемых событий в дискретной модели исполнительная система хранит в так называемом кален- даре событий, выбирая оттуда наиболее раннее событие для выполнения связанных с ним действий. Значение текущего времени в моделях AnyLogic может быть получено с помощью функции time() .

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


    единицах. При моделировании физических процессов все параметры и уравне- ния должны быть выражены в одних и тех же единицах измерения физических величин.

    Интерпретация модели выполняется на компьютере. Физическое время, затрачиваемое процессором на имитацию действий, которые должны выпол- няться в модели в течение одной единицы модельного времени, зависит от мно- гих факторов. Поэтому единица физического времени и единица модельного времени не совпадают.

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

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

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


    Анимация поведения модели . AnyLogic имеет удобные средства представления функционирования моделируемой системы в живой форме ди- намической анимации, что позволяет «увидеть» поведение сложной системы. Визуализация процесса функционирования моделируемой системы позволяет проверить адекватность модели, выявить ошибки при задании логики.

    Средства анимации позволяют пользователю легко создавать виртуаль- ный мир (совокупность графических образов, ожившую мнемосхему), управ- ляемый динамическими параметрами модели по законам, определенным поль- зователем с помощью уравнений и логики моделируемых объектов. Графиче- ские элементы, добавленные на анимацию, называются динамическими, по- скольку все их параметры: видимость, цвет и т.п. – можно сделать зависимыми от переменных и параметров модели, которые меняются со временем при вы- полнении модели.

    С помощью совершенной технологии визуализации работающих моделей AnyLogic можно создавать интерактивные анимации произвольной сложности, связывая графические объекты (в т.ч. импортированные чертежи) во встроенном редакторе с объектами модели. Как и модель, анимация имеет иерархическую структуру, которая может динамически изменяться. Возможно создание нескольких точек зрения или нескольких уровней детальности в пре- делах одной анимации. Элементы управления и развитая бизнес-графика превращают анимацию модели в настоящую панель управления для оценки эффективности решений. В AnyLogic поддерживается как двумерная, так и трёхмерная анимация.

    Интерактивный анализ модели . Многие системы моделирования позволяют менять параметры модели только до запуска модели на выполнение. AnyLogic позволяет пользователю вмешиваться в работу модели, изменяя параметры модели в процессе ее функционирования. Примером таких средств являются слайдеры , которые могут быть введены в окно анимации.


    Пользовательский интерфейс

    После запуска AnyLogic открывается рабочее окно, в котором для про- должения работы надо создать новый проект или открыть уже существующий.

    Начиная с версии 6.4 AnyLogic предоставляет пользователям возмож- ность использовать шаблоны моделей при создании новых моделей. Чтобы соз- дать новый проект, щелкните по соответствующей кнопке на панели инстру- ментов или выберите пункт меню Файл | Создать проект и затем из ниспа- дающего меню – Модель . Откроется диалоговое окно Новая модель , где зада- ется имя и местоположение нового проекта. Далее следуйте указаниям Масте- ра создания модели . Можно создавать новую модель «с нуля» или использовать шаблон.

    При открытии проекта (нового или существующего) AnyLogic всегда открывает среду разработки проекта – графический редактор модели (рис. 1). Рассмотрим основные составляющие этого редактора.

    Окно проекта обеспечивает легкую навигацию по элементам проекта, таким как пакеты, классы и т.д. Поскольку проект организован иерархически, то он отображается в виде дерева: сам проект образует верхний уровень дерева рабочего проекта, пакеты – следующий уровень, классы активных объектов и сообщений – следующий и т.д. Можно копировать, перемещать и удалять лю- бые элементы дерева объектов, легко управляя рабочим проектом.


    Одна из ветвей в дереве проекта имеет название Simulation:Main (экспе- римент). Эксперимент хранит набор настроек, с помощью которых конфигури- руют работу модели. Один эксперимент создается автоматически при создании проекта. Это простой эксперимент с именем Simulation , позволяющий визуа- лизировать модель с помощью анимации и поддерживающий инструменты для отладки модели. Простой эксперимент используется в большинстве случаев. Поддерживается ещё несколько типов экспериментов для различных задач моделирования.

    Структурная диаграмма . При построении модели нужно задать ее структуру (т.е. описать, из каких частей состоит модель системы) и поведение отдельных объектов системы. В AnyLogic структурными элементами модели являются так называемые активные объекты . Активный объект имеет структу- ру и поведение. Элементы структуры – это другие активные объекты, включен- ные как составные элементы данного активного объекта, и связи, которые существуют между включенными активными объектами. Активные объекты могут содержать: события, стейтчарты, переменные, функции, уравнения, параметры.


    Структура активного объекта задается графически на структурной диа- грамме. Поведение задается с помощью стейтчарта и определяет реакции активного объекта на внешние события – логику его действий во времени.

    Диаграмма состояний (или стейтчарт – statechart) – это модифицирован- ные графы переходов конечного автомата. Стейтчарт позволяет графически за- дать пространство состояний алгоритма поведения объекта, а также события, которые являются причинами срабатывания переходов из одних состояний в другие, и действия, происходящие при смене состояний. Стейтчарты соответст- вуют стандарту UML. Они сохраняют графический вид, атрибуты и семантику выполнения, определенную в UML (Unified Modeling Language ). Стейтчарты в AnyLogic поддерживают следующие типы событий: сигнал – объект может послать сигнал другому объекту, чтобы уведомить его о чем-то; таймаут – в течение заданного промежутка времени в стейтчарте ничего не происходит; событие – событие, при котором значение булево выражения становится

    «истина».

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

    Окно свойств . В редакторе AnyLogic для каждого выделенного элемента модели существует свое окно свойств, в котором указываются свойства (пара- метры) этого элемента. При выделении какого-либо элемента в окне редактора снизу появляется окно свойств, показывающее параметры данного выделенного элемента. Окно свойств содержит несколько вкладок. Каждая вкладка содержит элементы управления, такие как поля ввода, флажки, переключатели, кнопки и


    т.д., с помощью которых можно просматривать и изменять свойства элементов модели. Число вкладок и их внешний вид зависит от типа выбранного элемента. Окно палитры . Содержит элементы (графические объекты), которые могут быть добавлены на структурную диаграмму. Элементы разбиты по груп- пам, отображаемым на разных вкладках. Чтобы добавить объект палитры на диаграмму, щелкните сначала по элементу в палитре, а затем щелкните по диа-

    Параметры. Активный объект может иметь параметры. Параметры обычно используются для задания характеристик объекта. Вы можете задать различные значения параметров для разных объектов одного и того же класса, что требуется в тех случаях, когда объекты имеют одинаковое поведение, но их характеристики разные. Возможно описание параметров любых Java -классов.

    Чтобы создать параметр класса активного объекта (рис. 2), в окне Проект щелкните мышью по классу активного объекта. В окне Свойства щелкните по кнопке Новый параметр. Задайте свойства параметра в открывшемся диалого- вом окне Параметр .

    Переменные. Активный объект может содержать переменные. Перемен- ные могут быть либо внутренними, либо интерфейсными. Активный объект может иметь переменные, моделирующие, меняющиеся во времени величины. Переменные могут быть вынесены в интерфейс активного объекта и связаны с


    переменными других активных объектов. Тогда при изменении значения одной переменной будет немедленно меняться и значение связанной с ней зависимой переменной другого объекта. Этот механизм обеспечивает непрерывное и/или дискретное взаимодействие объектов.

    Передача сообщений. AnyLogic позволяет передавать информацию от одного объекта другому путем передачи специальных пакетов данных – сооб- щений. С помощью передачи сообщений можно реализовать механизм опове- щения – сообщения будут представлять команды или сигналы, посылаемые системой управления. Можно также смоделировать поток заявок, в этом случае сообщения будут представлять собой заявки – объекты, которые производятся, обрабатываются, обслуживаются или еще каким-нибудь образом подвергаются воздействию моделируемого процесса (документы в модели бизнес-процесса, клиенты в модели системы массового обслуживания, детали в производствен- ных моделях).

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

    Чтобы соединить порты вложенных объектов, щелкните мышью по кноп- ке панели инструментов Соединитель , а затем щелкните мышью поочередно по обоим портам. Чтобы добавить точку изгиба, щелкните мышью по кнопке панели инструментов Редактировать точки .

    Запуск и просмотр модели . Запускать и отлаживать модель можно с по- мощью меню Модель и панели инструментов:

    При исполнении модели запустится компилятор, который построит ис- полняемый код модели в языке Java , скомпилирует его и затем запустит модель на исполнение.

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


    отображающее созданную презентацию для запущенного эксперимента. Щелк- ните по кнопке, чтобы запустить модель и перейти на презентацию.

    В окне презентации можно увидеть: анимированную диаграмму модели, окна инспекта элементов модели, ожившую анимацию, диаграммы состояний, графики статистики.

    Проведение экспериментов

    С помощью экспериментов задаются конфигурационные настройки модели. AnyLogic поддерживает несколько типов экспериментов: простой экс- перимент, эксперимент для варьирования параметров, оптимизационный и др. На рис. 3 показано окно выбора эксперимента.


    Простой эксперимент . Задачи вида «что – если» (так называемая прямая задача имитационного моделирования ИМ ) в AnyLogic решаются с по- мощью простого эксперимента . Простой эксперимент (с именем Simulation ) создается автоматически при создании проекта. Он позволяет визуализировать модель с помощью анимации, графиков (диаграмм) и т.п. Широкие возможно- сти для отображения данных предоставляет библиотека бизнес-графики (Business Graphics Library).

    Для построения, например, графика зависимости переменных от времени в поле анимации сначала нужно построить прямоугольник, в переделах которо- го будет размещаться график, после чего в любое место поля редактора перене- сти экземпляр объекта ChartTime из Business Graphics Library. Затем в окне свойств данного объекта следует настроить параметры, определяющие цвет и толщину линий, имена отображаемых переменных, названия переменных, ко- торые будут отображаться, цвет текста и т.д.

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

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

    В AnyLogic доступен механизм автоматического запуска модели заданное


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

    Чтобы запустить такой эксперимент, нужно выполнить следующее:

    Создать эксперимент для варьирования параметров;

    Сконфигурировать эксперимент, выбрав параметры модели, которые вы хотите варьировать, и, задав значения, которые эти параметры должны будут принять за определенное вами количество прогонов модели, в окне свойств данного эксперимента;

    Запустить модель, выбрав данный эксперимент в качестве текущего.

    Такой вид эксперимента не поддерживает визуализацию работы модели с помощью анимации.

    Оптимизационный эксперимент . Используется для решения задач количественного анализа (расчет показателей эффективности системы). Поиск тех значений факторов, которые определяют наиболее предпочтительный вари- ант решения, называется обратной задачей ИМ . Обратные задачи моделирова- ния отвечают на вопрос о том, какое решение из области допустимых решений обращает в максимум показатель эффективности системы. Для решения обрат- ной задачи многократно решается прямая задача. В случае, когда число возможных вариантов решения невелико, решение обратной задачи сводится к простому перебору всех возможных решений. Сравнивая их между собой, можно найти оптимальное решение.

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


    В качестве блока регистрации значений выходных показателей и выбора очередного приближения при оптимизации (рис. 4) пользователь может исполь- зовать любой внешний оптимизатор или же оптимизатор OptQuest , встроенный в AnyLogic. Оптимизатор OptQuest разработан недавно на основе метаэвристик рассеянного поиска (scatter search) и поиска «табу» (tabu search). Этот оптими- затор является лучшим из предлагаемых на рынке профессиональных пакетов оптимизации для решения сложных проблем оптимизации.

    Условие прекращения эксперимента выполнено

    Оптимизатор OptQuest запускается прямо из среды разработки модели. Чтобы настроить оптимизацию в AnyLogic необходимо выполнить следующее:

    1) создать в разработанной модели оптимизационный эксперимент;

    2) задать оптимизационные параметры и области их изменения;

    3) задать условие остановки модели после каждого прогона. Это может быть либо остановка по времени выполнения прогона, либо остановка по условиям, накладываемым на переменные модели;

    4) задать целевую функцию, т.е. исследуемую реакцию системы;

    5) задать ограничения, которые в конце каждого прогона определяют, до- пустимо ли значение вектора исходных входных факторов. Ограниче- ния можно не задавать (т.е. это опционально);

    6) задать условия прекращения эксперимента.

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


    Порядок выполнения работы

    Лабораторные работы предусмотрены для версии 6.х продукта AnyLogic,

    для версии 5.х они могут отличаться.

    Модель AnyLogic представляет собой файл с именем, заданным пользо- вателем, и расширением.alp . При создании новой модели можно сразу указать полный путь и имя каталога, в котором будет находиться ваша модель.

    В ходе выполнения лабораторной работы необходимо научиться созда- вать дискретно-событийные модели с помощью библиотеки Enterprise Library пакета AnyLogic. Для этого активно используйте справочное руководство по Enterprise Library и учебное пособие по Enterprise Library (меню Справка ).

    При выполнении лабораторной работы студент сначала выполняет общее задание, а затем индивидуальное задание по варианту, предлагаемому препода- вателем.

    Задание к лабораторной работе

    Построим с помощью элементов библиотеки Enterprise Library модель простой системы массового обслуживания – модель банковского отделения.

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

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

    1. Создание нового проекта.

    Создайте новую модель. Переименуйте класс Main в Model . В свойствах эксперимента Simulation задайте выполнение модели в режиме реального вре- мени с выполнением одной единицы модельного времени в одну секунду. В этой модели под единицей модельного времени мы будем понимать одну мину- ту работы банковского отделения.

    2. Создание блок-схемы.

    Создайте блок-схему модели, которая пока будет состоять только из бан- комата. Для этого перетащите в окно структуры элементы библиотеки Enterprise Library и соедините их так, как показано на рис. 6.

    Объект source генерирует заявки (entities) определенного типа через за- данный временной интервал. Заявки представляют собой объекты, которые производятся, обрабатываются, обслуживаются или еще каким-нибудь образом подвергаются воздействию моделируемого процесса: это могут быть клиенты в


    системе обслуживания, детали в модели производства, документы в модели до- кументооборота и др. В нашем примере заявками будут посетители банка, а объект source будет моделировать их приход в банковское отделение.



    Объект queue моделирует очередь клиентов, ожидающих обслуживания. Объект delay моделирует задержку. В нашем примере он будет имитиро-

    вать банкомат, тратящий определенное время на обслуживание клиента.

    Объект sink обозначает конец блок-схемы.

    3. Запуск модели.

    Для каждой модели, созданной в Enterprise Library, автоматически созда- ется блок-схема с наглядной визуализацией процесса, с помощью которой вы можете изучить текущее состояние модели, например, длину очереди, количе- ство обслуженных человек и т.д.

    Для запуска модели (рис. 7) щелкните мышью по кнопке Запустить . От- кроется окно с презентацией запущенного эксперимента. AnyLogic автоматиче- ски помещает на презентацию каждого простого эксперимента заголовок и кнопку, позволяющую запустить модель и перейти на презентацию, нарисован- ную вами для главного класса активного объекта этого эксперимента (Main ).

    Щелкните по этой кнопке. AnyLogic переключится в режим работы моде- ли. С помощью визуализированной блок-схемы вы можете проследить, сколько человек находится в очереди, сколько человек в данный момент обслуживается и т.д.


    На рис. 8 видно, что 4 человека стоят в очереди, а 23 человека покинули очередь (блок queue ), из них 22 обслужили (блок sink ), а один еще обслужива- ется у банкомата (блок delay ).

    С помощью кнопок панели инструментов Замедлить и Ускорить можно изменить скорость выполнения модели. Во время выполнения модели можно следить за состоянием любого блока диаграммы процесса с помощью окна инспекта этого объекта. Чтобы открыть окно инспекта, щелкните мышью по значку блока. В окне инспекта будет отображена базовая информация по выде- ленному блоку, например, для блока Queue будет отображена вместимость оче- реди, количество заявок, прошедшее через каждый порт объекта, и т.д.


    4. Изменение данных модели.

    Задайте данные модели, изменяя свойства созданных объектов (рис. 9).

    В свойстве interarrivalTime объекта source укажите, как часто в отделение приходят клиенты – exponential (0.67).

    Интервал между приходом клиентов распределен экспоненциально со средним значением, равным 1.5 единицы модельного времени. Заметьте, что аргумент функции exponential() равен 0.67, потому что в качестве аргумента за- дается интенсивность прихода клиентов.

    Функция exponential() является стандартной функцией генератора слу- чайных чисел AnyLogic. AnyLogic предоставляет функции и других случайных распределений, таких как нормальное, равномерное, треугольное и т.д. За де- тальным описанием функций и их параметров обращайтесь к руководству пользователя или справочнику классов (см. методы класса Func ). Для вызова руководства пользователя, справочника классов AnyLogic выберите соответст- вующие пункты меню Справка .

    В свойстве capacity объекта queue (рис. 10) задайте максимальную длину очереди – 15.


    В свойстве delayTime объекта delay (рис. 11) задайте время задержки (время обслуживания) – triangular (0.8, 1, 1.3).

    Обслуживание одного клиента занимает примерно 1 минуту. Здесь время обслуживания распределено по треугольному закону со средним значением, равным 1 минуте, минимальным – 0.8 и максимальным – 1.3 минуты.

    Запустите модель и проанализируйте ее работу.

    5. Сбор статистики.

    AnyLogic позволяет производить сбор сложной статистики. Для этого нужно лишь включить у объекта режим сбора статистики, поскольку по умол- чанию он отключен для повышения скорости выполнения модели.

    В системе собирается статистика по длине очереди для блока queue (length ) и статистика по коэффициенту использования для блока delay (utiliza- tion ). Чтобы включить сбор статистики для объекта, установите переключатель Включить сбор статистики на вкладке Основные свойств объекта.

    , Linux

    Энциклопедичный YouTube

      1 / 1

      BUY321 - Measuring time-in-system in AnyLogic

    Субтитры

    История

    В начале 1990-х в компьютерной науке наблюдался большой интерес к построению математически трактуемого описания взаимодействия параллельных процессов. Что сказалось на подходах к анализу корректности параллельных и распределённых программ. Группа учёных из Санкт-Петербургского Политехнического университета разработала программное обеспечение для анализа корректности системы; новый инструмент назвали COVERS (Параллельная Верификация и Моделирование) . Анализируемая система процессов задавалась графически, с помощью описания её структуры и поведения отдельных параллельных компонентов, которые могли взаимодействовать с окружением - с другими процессами и средой. Инструмент использовался в исследовательских проектах компании Хьюлетт-Паккард (англ. Hewlett-Packard ).

    В 1998 г. успех этого исследования вдохновил лабораторию организовать коммерческую компанию с миссией создания нового программного обеспечения для имитационного моделирования. Акцент при разработке ставился на прикладные методы: моделирование стохастических систем, оптимизацию и визуализацию модели. Новое программное обеспечение, выпущенное в 2000 г., было основано на последних преимуществах информационных технологий: объектно-ориентированный подход, элементы стандарта UML , языка программирования Java , современного GUI , и т. д.

    Продукт получил название AnyLogic, потому что он поддерживал все три известных метода моделирования :

    А также любую комбинацию этих подходов в пределах одной модели. Первой версии был присвоен индекс 4 - Anylogic 4.0, так как нумерация продолжила историю версий предыдущей разработки - COVERS 3.0.

    Огромный шаг вперёд был сделан в 2003 году, когда был выпущен AnyLogic 5, ориентированный на бизнес-моделирование. С помощью AnyLogic стало возможным разрабатывать модели в следующих областях :

    Последней версией программы является AnyLogic 7. AnyLogic 7 написан на языке программирования Java в популярной среде разработки Eclipse . AnyLogic является кросс-платформенным программным обеспечением, работает как под управлением операционной системы Windows , так и под Mac OS и Linux .

    AnyLogic и Java

    AnyLogic включает в себя графический язык моделирования, а также позволяет пользователю расширять созданные модели с помощью языка Java . Интеграция компилятора Java в AnyLogic предоставляет более широкие возможности при создании моделей, а также создание Java апплетов , которые могут быть открыты любым браузером. Эти апплеты позволяют легко размещать модели AnyLogic на веб-сайтах. В дополнение к Java-апплетам, AnyLogic Professional поддерживает создание Java-приложений, в этом случае пользователь может запустить модель без инсталляции AnyLogic .

    Методы имитационного моделирования

    Модели AnyLogic могут быть основаны на любой из основных парадигм имитационного моделирования: дискретно-событийном моделировании , системной динамик е и агентном моделировани и.

    Системная динамика и дискретно-событийное (процессное) моделирование, под которым мы понимаем любое развитие идей GPSS - это традиционные устоявшиеся подходы, агентное моделирование - относительно новый. Системная динамика оперирует в основном с непрерывными во времени процессами, тогда как дискретно-событийное и агентное моделирование - с дискретными.

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

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

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

    При разработке моделей в AnyLogic можно использовать концепции и средства из нескольких методов моделирования. Например, в агентной модели можно использовать методы системной динамики для представления изменений состояния среды; в непрерывной модели динамической системы можно учесть дискретные события. Например, управление цепочками поставок при помощи имитационного моделирования требует описания участников цепи поставок агентами: производители, продавцы, потребители, сеть складов. При этом производство описывается в рамках дискретно-событийного (процессного) моделирования, где продукт или его части - это заявки, а автомобили, поезда, штабелёры - ресурсы. Сами поставки представляются дискретными событиями, но при этом спрос на товары может описываться непрерывной системно-динамической диаграммой. Возможность смешивать подходы позволяет описывать процессы реальной жизни, а не подгонять процесс под доступный математический аппарат.

    Возможности программы

    Среда моделирования

    Графическая среда моделирования AnyLogic включает в себя следующие элементы :

    • Stock & Flow Diagrams (диаграмма потоков и накопителей) применяется при разработке моделей, используя метод системной динамики.
    • Statecharts (карты состояний) в основном используется в агентных моделях для определения поведения агентов. Но также часто используется в дискретно-событийном моделировании, например для симуляции машинных сбоев.
    • Action charts (блок-схемы) используется для построения алгоритмов. Применяется в дискретно-событийном моделировании (маршрутизация звонков) и агентном моделировании (для логики решений агента).
    • Process flowcharts (процессные диаграммы) основная конструкция, используемая для определения процессов в дискретно-событийном моделировании.

    Среда моделирования также включает в себя: низкоуровневые конструкции моделирования (переменные, уравнения, параметры, события и т.п), формы представления (линии, квадраты, овалы и т.п), элементы анализа (базы данных, гистограммы, графики), стандартные картинки и формы экспериментов.

    Среда моделирования AnyLogic поддерживает проектирование, разработку, документирование модели, выполнение компьютерных экспериментов с моделью, включая различные виды анализа - от анализа чувствительности до оптимизации параметров модели относительно некоторого критерия.

    Библиотеки AnyLogic

    AnyLogic включает в себя набор следующих стандартных библиотек:

    Файл:3D Animation of a Grain Terminal Model.png

    3D-анимация модели зернового терминала

    Анимация моделей

    AnyLogic поддерживает интерактивную анимацию моделей в 2D и 3D.

    Так, AnyLogic позволяет импортировать чертежи САПР в виде DXF-файлов и использовать их для визуализации моделей. Эта функциональность чаще всего используется в дискретно-событийном моделировании для анимации процессов внутри заводов, складов, больниц и т.д.

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

    Разработчики могут создавать собственные интерфейсы моделей, чтобы пользователи могли легко задавать параметры эксперимента и менять входные данные.

    Файл:GIS-Based Supply Chain Simulation Model.png

    Имитационная модель цепи поставок с ГИС

    Геопространственные модели, интеграция с ГИС

    Модели AnyLogic могут использовать карты в качестве инструмента анимации, что часто требуется при моделировании цепей поставок и логистики. AnyLogic поддерживает традиционный shapefile-формат данных, SHP от Esri . Кроме того, AnyLogic использует тайловые карты от бесплатных провайдеров, включая OpenStreetMap . Тайловые карты позволяют разработчикам использовать в модели картографические данные и автоматически создавать маршруты для агентов. Основная функциональность тайловых карт в AnyLogic включает следующее:

    Пользователю доступны все данные, которые хранятся в карте, доступной онлайн: города, регионы, дорожные сети, такие типы объектов как больницы, школы, автобусные остановки и т.д.

    Можно размещать агентов в определенных точках на карте и задавать движение агентов по существующим маршрутам и дорогам.

    Можно использовать встроенный поиск по карте, чтобы размещать элементы модели в нужных точках.

    Интеграция модели с IT-инфраструктурой

    Модели AnyLogic экспортируются в виде Java-приложений, которые можно запускать отдельно от среды разработки или интегрировать с другими программами. В частности, экспортированная модель может быть встроена в другое ПО и работать в качестве дополнительного модуля для систем типа ERP, MRP или TMS. Модели также интегрируются с файлами TXT, MS Excel, MS Access и любыми базами данных (MS SQL, My SQL, Oracle, и др.). Кроме того, у каждой модели есть своя встроенная база данных на HSQLDB.

    Бесплатная образовательная версия

    Начиная с 2015 года, версия AnyLogic Personal Learning Edition (PLE) доступна бесплатно для целей образования и самообразования. Лицензия PLE не ограничена по времени, но модели, созданные в этой версии, ограничены по размеру.

    Для публичных исследований в образовательных учреждениях пользователи могут приобрести версию University Researcher, которая не ограничивает размер модели и содержит большую часть функциональности версии Professional.

    anyLogistix – инструмент оптимизации цепей поставок

    В AnyLogic нет отдельной библиотеки для моделирования цепей поставок, т.к. компания направила свои усилия на разработку отдельного инструмента для этой отрасли – anyLogistix. Этот родственный AnyLogic продукт был впервые представлен в 2014 под названием AnyLogic Logistics Network Manager и был переименован в anyLogistix в 2015 г.

    В основе anyLogistix лежит движок AnyLogic, ГИС-технологии и новый интерфейс, ориентированный на менеджеров из области цепей поставок. Инструмент включает алгоритмы и технологии, характерные и применимые для проектирования и оптимизации цепей поставок. anyLogistix полностью интегрирован с AnyLogic: так, разработчики моделей могут использовать AnyLogic для расширения функциональности объектов внутри anyLogistix, например, складов, заводов, поставщиков, политик пополнения запасов, снабжения и перевозок.

    Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

    Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

    Размещено на http://www.allbest.ru/

    • Введение
    • 1. Теоретические основы моделирования систем в среде имитационного моделирования AnyLogic
    • 2. Реализация модели системы обработки информации в среде компьютерного моделирования AnyLogic
    • Заключение

    Введение

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

    Отличительная черта моделирования - выделение основных свойств системы, интересующих разработчиков и исследователей, и их оценка (качественная и количественная) с учетом варьируемых поправок и ограничений. Именно это обстоятельство делает моделирование основным и необходимым этапом в разработке любых систем и изучении процессов и явлений реального мира.

    Любая модель может быть формализована и изучена с помощью того или иного математического аппарата или метода. С появлением ЭВМ математические модели стали применяться практически во всех задачах моделирования, но появилась и альтернатива - имитационное моделирование, позволяющее на основе исходных заданных характеристик системы имитировать ее поведение во времени и получать необходимые характеристики.

    Имитационное моделирование дает наилучшие по точности результаты если моделируемая система имеет неопределенный или вероятностный характер, поскольку просчитать математически все возможные варианты поведения системы задача крайне трудоемкая или невыполнимая, а использование в расчетах средних значений дает крайне неточные результаты. Системы массового обслуживания - одни из примеров систем вероятностного (стохастического) характера, поэтому применение имитационного моделирования к анализу этих систем дет наилучшие результаты и вместе с тем малые затраты времени, средств и машинных ресурсов.

    компьютерное моделирование имитационное анимация

    1. Теоретические основы моделирования систем в среде имитационного моделирования AnyLogic

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

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

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

    Пакет AnyLogic - отечественный профессиональный инструмент нового поколения, который предназначен для разработки и исследования имитацион-ных моделей. Разработчик продукта - компания "Экс Джей Текнолоджис" (XJ Technologies), г. Санкт-Петербург.

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

    Программный инструмент AnyLogic основан на объектно-ориентированной концепции. Другой базовой концепцией является представление модели как набора взаимодействующих, параллельно функционирующих активностей. Активный объект в AnyLogic - это объект со своим собственным функционированием, взаимодействующий с окружением. Он может включать в себя любое количество экземпляров других активных объектов. Графическая среда моделирования поддерживает проектирование, разработку, документирование модели, выполнение компьютерных экспериментов, оптимизацию параметров относительно некоторого критерия.

    При разработке модели можно использовать элементы визуальной графики: диаграммы состояний (стейтчарты), сигналы, события (таймеры), порты и т.д.; синхронное и асинхронное планирование событий; библиотеки активных объектов.

    Удобный интерфейс и многочисленные средства поддержки разработки моделей в AnyLogic делают не только использование, но и создание компьютерных имитационных моделей в этой среде моделирования доступными даже для начинающих. При разработке модели на AnyLogic можно использовать концепции и средства из нескольких классических областей имитационного моделирования: динамических систем, дискретно-событийного моделирования, системной динамики, агентного моделирования. Кроме того, AnyLogic позволяет интегрировать различные подходы с целью получить более полную картину взаимодействия сложных процессов различной природы. В данном пособии описываются три имитационные модели: дискретно-событийная, системно-динамическая и агентная. Для каждой модели приводится подробная постановка проблемы, разбирается структура модели, описывается процесс построения модели в среде AnyLogic и изучается ее поведение.

    1.1 Средства AnyLogic для имитационного моделирования систем

    Две фазы моделирования. AnyLogic используется для разработки имитационных исполняемых моделей и последующего их прогона для анализа. Разработка модели выполняется в графическом редакторе AnyLogic с использованием многочисленных средств поддержки, упрощающих работу. Построенная модель затем компилируется встроенным компилятором AnyLogic и запускается на выполнение. В процессе выполнения модели пользователь может наблюдать ее поведение, изменять параметры модели, выводить результаты моделирования в различных формах и выполнять разного рода компьютерные эксперименты с моделью. Для реализации специальных вычислений и описания логики поведения объектов AnyLogic позволяет использовать мощный современный язык Java. Активные объекты, классы и экземпляры активных объектов. Основными строительными блоками модели AnyLogic являются активные объекты, которые позволяют моделировать любые объекты реального мира. Класс в программировании является мощным средством, позволяющим структурировать сложную систему. Класс определяет шаблон, в соответствии с которым строятся отдельные экземпляры класса. Эти экземпляры могут быть определены как объекты других активных объектов. Активный объект является экземпляром класса активного объекта. Чтобы создать модель AnyLogic, необходимо создать классы активных объектов (или использовать объекты библиотек AnyLogic) и задать их взаимосвязи. AnyLogic интерпретирует создаваемые графически классы активных объектов в классы Java, поэтому можно пользоваться всеми преимуществами объектно-ориентированного моделирования.

    Активные объекты могут содержать вложенные объекты, причем уровень вложенности не ограничен. Это позволяет производить декомпозицию модели на любое количество уровней детализации.

    Активные объекты имеют четко определенные интерфейсы взаимодействия. Они взаимодействуют со своим окружением только посредством своих интерфейсных элементов. Это облегчает создание систем со сложной структурой, а также делает активные объекты повторно используемыми. Создав класс активного объекта, можно создать любое количество объектов - экземпляров данного класса. Каждый активный объект имеет структуру (совокупность включенных в него активных объектов и их связи), а также поведение, определяемое совокупностью переменных, параметров, стейтчартов и т.п. Каждый экземпляр активного объекта в работающей модели имеет свое собственное поведение, он может иметь свои значения параметров, функционирует независимо от других объектов, взаимодействуя с ними и с внешней средой. Визуальная разработка модели. При построении модели используются средства визуальной разработки (введения состояний и переходов стейтчарта, введения пиктограмм переменных и т.п.), задания численных значений параметров, аналитических записей соотношений переменных и аналитических записей условий наступления событий. Основной технологией программирования в AnyLogic является визуальное программирование - построение с помощью графических объектов и пиктограмм иерархий структуры и поведения активных объектов.

    AnyLogic является надстройкой над языком Java - одним из самых мощных и в то же время самых простых современных объектно-ориентированных языков. Все объекты, определенные пользователем при разработке модели с помощью графического редактора, компилируются в конструкции языка Java, а затем происходит компиляция всей собранной программы на Java, задающей модель, в исполняемый код. Хотя программирование сведено к минимуму, разработчику модели необходимо иметь некоторое представление об этом языке (например, знать синтаксически правильные конструкции).

    1.2 Средства описания поведения объектов

    Основными средствами описания поведения объектов являются переменные, события и диаграммы состояний. Переменные отражают изменяющиеся характеристики объекта. События могут наступать с заданным интервалом времени и выполнять заданное действие. Диаграммы состояний (или стейтчарты) позволяют визуально представить поведение объекта во времени под воздействием событий или условий, они состоят из графического изображения состояний и переходов между ними (т.е. по сути это конечный автомат). Любая сложная логика поведения объектов модели может быть выражена с помощью комбинации стейтчартов, дифференциальных и алгебраических уравнений, переменных, таймеров и программного кода на Java. Алгебраические и дифференциальные уравнения записываются аналитически. Интерпретация любого числа параллельно протекающих процессов в модели AnyLogic скрыта от пользователя.

    1.3 Анимация поведения модели

    AnyLogic имеет удобные средства представления функционирования моделируемой системы в живой форме динамической анимации, что позволяет "увидеть" поведение сложной системы. Визуализация процесса функционирования моделируемой системы позволяет проверить адекватность модели, выявить ошибки при задании логики. Средства анимации позволяют пользователю легко создавать виртуальный мир (совокупность графических образов, ожившую мнемосхему), управляемый динамическими параметрами модели по законам, определенным пользователем с помощью уравнений и логики моделируемых объектов. Графические элементы, добавленные на анимацию, называются динамическими, поскольку все их параметры: видимость, цвет и т.п. - можно сделать зависимыми от переменных и параметров модели, которые меняются со временем при выполнении модели.

    1.4 Пользовательский интерфейс

    После запуска AnyLogic открывается рабочее окно, в котором для продолжения работы надо создать новый проект или открыть уже существующий.

    Окно проекта обеспечивает легкую навигацию по элементам проекта, таким как пакеты, классы и т.д. Поскольку проект организован иерархически, то он отображается в виде дерева: сам проект образует верхний уровень дерева рабочего проекта, пакеты - следующий уровень, классы активных объектов и сообщений - следующий и т.д. Можно копировать, перемещать и удалять любые элементы дерева объектов, легко управляя рабочим проектом.

    Рисунок 1 - Окно проекта.

    В редакторе AnyLogic для каждого выделенного элемента модели существует свое окно свойств, в котором указываются свойства (параметры) этого элемента. При выделении какого-либо элемента в окне редактора снизу появляется окно свойств, показывающее параметры данного выделенного элемента. Окно свойств содержит несколько вкладок. Каждая вкладка содержит элементы управления, такие как поля ввода, флажки, переключатели, кнопки и т.д., с помощью которых можно просматривать и изменять свойства элементов модели. Число вкладок и их внешний вид зависит от типа выбранного элемента.

    Рисунок 2 - Окно свойств.

    Окно палитры содержит элементы (графические объекты), которые могут быть добавлены на структурную диаграмму. Элементы разбиты по группам, отображаемым на разных вкладках. Чтобы добавить объект палитры на диаграмму, щелкните сначала по элементу в палитре, а затем щелкните по диаграмме.

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

    Запускать и отлаживать модель можно с помощью меню Модель и панели инструментов:

    Рисунок 3 - Панель инструментов.

    1.5 Основные элементы построения модели

    Для выполнения данной курсовой работы нам понадобятся такие элементы библиотек Enterprise Library, как:

    Source. Создает заявки. Обычно используется в качестве начальной точки потока заявок. Заявки могут быть либо базового для заявок класса Entity, либо любого класса пользователя, унаследованного от этого базового класса. Вы можете сконфигурировать объект так, чтобы он создавал заявки других типов, указав конструктор нужного класса в параметре Новая заявка, а также задать действие, которое должно выполняться перед тем, как новая заявка покинет объект, и связать с заявкой определенную фигуру анимации;

    SelectOutput. Объект направляет входящие заявки в один из двух выходных портов в зависимости от выполнения заданного (детерминистического или заданного с помощью вероятностей) условия. Условие может зависеть как от заявки, так и от каких-то внешних факторов. Поступившая заявка покидает объект в тот же момент времени;

    Delay. Задерживает заявки на заданный период времени. Время задержки вычисляется динамически, может быть случайным, зависеть от текущей заявки или от каких-то других условий. Это время может, в частности, вычисляться как длина фигуры, заданной в качестве фигуры анимации этого объекта, поделенной на "скорость" заявки. Одновременно могут быть задержаны сразу несколько заявок (не более заданной вместимости объекта capacity);

    Sink. Уничтожает поступившие заявки. Обычно используется в качестве конечной точки потока заявок. Для того, чтобы заявки удалялись из модели и уничтожались, нужно соединить выходной порт последнего блока процессной диаграммы с портом объекта Sink или Exit.;

    NetworkEnter. Используется при моделировании транспортных сетей. Регистрирует заявку в сети и помещает ее в заданный узел сети. После добавления в сеть заявка может перемещаться по сети и использовать сетевые ресурсы. Заявка не может одновременно находиться сразу в нескольких сетях, поэтому перед добавлением в другю сеть она должна быть вначале удалена из текущей сети с помощью объекта NetworkExit. Кроме того, Вы может задать скорость перемещения заявки по сети (которую впоследствии можно будет изменить). Операция добавления в сеть занимает нулевое время. Сразу после добавления в сеть заявка будет отображена на анимации (в случайном месте внутри начального узла);

    NetworkMoveTo. Используется при моделировании транспортных сетей. Перемещает заявку в новое место сети. Если к заявке присоединены какие-то ресурсы, то они перемещаются вместе с заявкой. При этом независимо от скорости ресурсов перемещаться такая группа из заявки и ее ресурсов будет со скоростью заявки. Время, которое заявка проведет в этом объекте, будет равно длине кратчайшего из возможных путей из текущего местоположения заявки в узел назначения, поделенной на скорость заявки (обратите внимание, что Вы можете динамически изменять эту скорость с помощью метода entity. setNetworkSpeed ()). Заявка будет отображаться на анимации сети движущейся вдоль выбранного маршрута.

    NetworkExit. Используется при моделировании транспортных сетей. Удаляет заявку из сети. Заявка при этом перестает отображаться на анимации сети. При удалении заявки из модели (например, с помощью объекта Sink) она обязательно должна быть предварительно удалена из сети (если на момент удаления она в ней находится);

    Network. Используется при моделировании транспортных сетей. Задает топологию сети и управляет сетевыми ресурсами. В одной модели может быть несколько сетей, и каждая сеть задается одним объектом Network. Топология сети задается группой фигур: прямоугольники задают узлы сети, а линии и ломаные - сегменты.

    Queue. Моделирует очередь заявок, ожидающих приема объектами, следующими за данным в потоковой диаграмме, или же хранилище заявок общего назначения.

    2. Реализация модели системы обработки информации в среде компьютерного моделирования AnyLogic

    Система обработки информации содержит мультиплексный канал и три миниЭВМ. Сигналы от датчиков поступают на вход канала через интервалы времени 10±5 мкс. В канале они буферизуются и предварительно обрабатываются в течение 10±3 мкс. Затем они поступают на обработку в ту миниЭВМ, где имеется наименьшая по длине входная очередь. Емкости входных накопителей во всех миниЭВМ рассчитаны на хранение величин 10 сигналов. Время обработки сигнала в любой миниЭВМ равно 33 мкс.

    Смоделировать процесс обработки 500 сигналов, поступающих с датчиков. Определить средние времена задержки сигналов в канале и миниЭВМ и вероятности переполнения входных накопителей. Обеспечить ускорение обработки сигнала в ЭВМ до 25 мкс при достижении суммарной очереди сигналов значения 25 единиц.

    Для начала создадим визуальную модель системы обработки информации. Для этого воспользуемся вкладкой презентация, в которой воспользуемся элементом rectangle (прямоугольник) и polyline (ломаная). В результате чего получим:

    Рисунок 4 - Внешний вид системы обработки информации.

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

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

    Рисунок 5 - Группировка элементов системы обработки.

    Теперь, соответственно приступим к реализации алгоритма работы и её визуализации.

    Для визуализации сигнала будем использовать встроенное изображение "message" из библиотеки "Картинки”.

    Рисунок 6 - Изображение сигнала.

    Для создания новых заявок будем использовать элемент "sourse”.

    Рисунок 7 - Реализация генерации сигналов.

    Теперь необходимо задать параметры генерации. В условии данной задачи сказано, что сигналы от датчиков поступают на вход канала через интервалы времени 10±5 мкс, также по заданию необходимо смоделировать процесс обработки 500 сигналов. Для этого установим в основных свойствах объектов:

    Рисунок 8 - Задание свойств генерации сигналов.

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

    Рисунок 9 - Установка свойств элемента network.

    Далее необходимо, чтобы фигуры анимации появлялись в зоне первого прямоугольника и принадлежали данной сети network. Для этого к элементу sourse присоединим элемент networkEnter, содержащийся в основной библиотеке.

    Рисунок 10 - Генерация и ввод в сеть сигналов.

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

    Рисунок 11 - Указание пункта прибытия деталей

    Далее заявки должны ожидать в течение заданного времени в буфере канала, для этого используем элементы "queue" и "delay”.

    Рисунок 12 - Реализация буфера.

    По условию в канале сигналы буферизуются и предварительно обрабатываются в течение 10±3 мкс, для этого выставим параметры элемента delay:

    Рисунок 13 - Параметры буфера канала.

    Далее необходимо определить наименьшую очередь в накопителях ЭВМ, для этого воспользуемся двумя элементами "selectOutput”

    Рисунок 14 - разветвление канала на 3 ЭВМ.

    Рисунок 15 - Параметры первого элемента selectOutput.

    Рисунок 16 - Параметры второго элемента selectOutput.

    Согласно условию, далее сигнал поступает на ЭВМ. Для задания направления используем три элемента networkMoveTo.

    Рисунок 17 - Обеспечение перемещения сигналов на ЭВМ.

    По условию, емкости входных накопителей во всех миниЭВМ рассчитаны на хранение величин 10 сигналов. Время обработки сигнала в любой миниЭВМ равно 33 мкс. Снова будем использовать блок, состоящий из двух элементов: queue и delay.

    Рисунок 18 - Реализация обработки сигналов на различных ЭВМ.

    Так как по условию должно обеспечиваться ускорение обработки сигнала в ЭВМ до 25 мкс при достижении суммарной очереди сигналов значения 25 единиц, за значение задержки будем принимать переменный параметр t, который будет меняться благодаря функции f.

    Рисунок 19 - Параметры обработки сигналов.

    Рисунок 20 - Функция для изменения времени обработки и ее тело.

    Далее добавим еще один элемент networkMoveTo для передвижения сигналов к выходу из системы, элемент networkExit для реализации извлечения элемента из сети и элемент sink для уничтожения заявок (сигналов).

    Теперь посмотрим результат реализации части модели, в которой происходит генерация сигналов и поступление их на ЭВМ с последующей обработкой.

    Рисунок 21 - Реализация и визуализация поступления сигналов с сопутствующим процессом обработки.

    Для наглядности и анализа текущего состояния системы на презентацию добавим несколько параметров, отражающих значения накопителей ЭВМ и буфера канала.

    Рисунок 22 - Отражение значений буфера и накопителей.

    Значения параметра "буфер_канала” определяются в элементе "queue”:

    Рисунок 23 - Определение количества заявок в буфере в текущий момент времени.

    Значения параметров накопителей определяются в элементах queue1, queue2 и queue3 соответственно:

    Рисунок 24 - Определение количества заявок в накопителе в текущий момент времени.

    По условию задания помимо реализации системы обработки необходимо определить средние времена задержки сигналов в канале и миниЭВМ и вероятности переполнения входных накопителей. Для вычисления этих величин введем следующие параметры:

    Рисунок 25 - Параметры для вычисления значений.

    Каждый из этих параметров будет показывать значения для отдельной ЭВМ соответственно. Кроме величин, заданных в условии задачи, вычислим среднее время обработки сигналов каждой из ЭВМ (ради интереса). Чтобы упростить процесс вычисления, введем еще несколько вспомогательных переменных:

    Рисунок 26 - Вспомогательные переменные.

    Итак, для нахождения величин, необходимо задать следующие действия для элементов queue1, queue2 и queue3 соответственно:

    Рисунок 26 - Нахождение величин.

    Для наглядности приведем несколько графиков со значениями найденных параметров:

    Рисунок 27 - График среднего времени задержки в накопителях.

    Рисунок 28 - График среднего времени обработки сигналов.

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

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

    Рисунок 29 - Итоговый вид модели обработки информации.

    Заключение

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

    Сетевое моделирование - логическая модель, используемая как метод планирования и управления в условиях неопределенности. Сетевое моделирование весьма эффективно на всех этапах разработки решений: в ходе поиска оптимального варианта и контроля за реализацией решений.

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

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

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

    Список используемой литературы

    1. К.Н. Мезенцев - Моделирование систем в среде AnyLogic.

    2. М.В. Киселёва - Имитационное моделирование систем в среде AnyLogic.

    3. Карпов Ю. - Имитационное моделирование систем. Введение в моделирование с AnyLogic.

    Размещено на Allbest.ru

    Подобные документы

      Концептуальная модель процесса обслуживания покупателей в магазине. Описание системы моделирования GPSS. Разработка моделирующей программы на специализированном языке имитационного моделирования в среде AnyLogic. Результаты вычислительных экспериментов.

      курсовая работа , добавлен 12.07.2012

      Оптимальное время для обслуживания пользователей как основная цель работы компьютерного зала библиотеки. Построение модели деятельности подписного отдела с помощью средства имитационного моделирования AnyLogic. Описание процессов и построение сценария.

      курсовая работа , добавлен 19.06.2015

      Обзор средств компьютерного имитационного моделирования по созданию веб-приложения для визуализации имитационных моделей. Система имитационного моделирования AnyLogic, Arena, SimuLab. Серверная, клиентская часть. Модель работы отдела банка и участка цеха.

      дипломная работа , добавлен 25.05.2015

      AnyLogic как инструмент компьютерного моделирования нового поколения. Процесс разработки моделей и реализация имитационных моделей для распространения эпидемического заболевания. Разработка систем обратной связи (диаграммы потоков и накопителей).

      контрольная работа , добавлен 21.07.2014

      Создание систем имитационного моделирования AnyLogic, Arena, SimuLab, Simbigraph и Forio. Серверная и клиентская часть. Разработка модели работы отдела банка, участка цеха, движения автобуса по маршруту и социальной сети. Описание web-приложения.

      дипломная работа , добавлен 25.05.2015

      Особенности моделирования биологических систем с использованием программы "AnyLogic". Влияние различных факторов на популяции жертв и хищников. Принципы имитационного моделирования и его общий алгоритм с помощью ЭВМ. Анализ результатов моделирования.

      курсовая работа , добавлен 30.01.2016

      Описание программного обеспечения AnyLogic, поддерживающего три метода имитационного моделирования (системная динамика, дискретно-событийное и агентное моделирование). Разработка модели процесса перехода пассажиров на монорельсы через кассы и турникеты.

      контрольная работа , добавлен 21.05.2015

      Технологическая схема системы. Структурно-функциональная модель обработки сообщений системой управления технологическим процессом. Поток сообщений в общем виде. Моделирование в среде GPSS и в среде C#, их результаты. Алгоритм имитационного моделирования.

      курсовая работа , добавлен 14.12.2012

      Сущность концептуального и физического моделирования. Описание графической среды AnyLogic как единственного инструмента имитационного моделирования. Основные этапы создания модели, позволяющей наглядно проанализировать влияние рекламы на покупателей.

      курсовая работа , добавлен 30.05.2014

      Основы систематизации языков имитационного моделирования, моделирование систем и языки программирования. Особенности использования алгоритмических языков, подходы к их разработке. Анализ характеристик и эффективности языков имитационного моделирования.