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

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

Фрагмент плана расположения путей железнодорожного узла, нарисованный в графическом редакторе AnyLogic
Наряду с первоначальным низкоуровневым интерфейсом, начиная с версии AnyLogic 6.5.1 Железнодорожная библиотека поддерживает очень простой высокоуровневый интерфейс задания операций железнодорожного узла с помощью диаграмм процесса, являющийся куда более гибким и мощным по сравнению с первоначальным. Теперь библиотека содержит пять новых объектов:
С помощью этих объектов Вы можете выполнять любые операции с поездами и вагонами без необходимости писать программный код. Более того, диаграммы процессов железнодорожонго узла могут включать в себя объекты Основной библиотеки, такие, как Delay, SelectOutput, Hold, Seize, Release, Queue, и т.д. Это означает, что теперь операционная логика железнодорожных узлов может быть полностью задана графически простым перетаскиванием объектов (в стиле drag-and-drop).

Диаграмма процесса сортировочного узла
Железнодорожная библиотека теперь содержит класс Train, который является подклассом базового класса заявки Entity, и следовательно может управляться диаграммами процессов. Поезда создаются объектом TrainSource, позволяющим задавать любые параметры создаваемого поезда и его вагонов. Объект TrainMoveTo управляет движением поездов. Этот объект поддерживает автоматическое вычисление маршрутов и изменение состояний стрелок по мере прохождения поезда по маршруту. Также Вы можете задавать ускорение до крейсерской скорости и торможение состава перед прибытием к пункту назначения, что обеспечивает более точные результаты моделирования и делает визуализацию процесса боле реалистичной. Сцепление и расцепление, выполняемое объектами TrainCouple и TrainDecouple соответственно, также задается очень просто и в то же время гибко. И наконец, объект TrainDispose может не только удалять поезда, которые покинули железнодорожный узел по незамкнутому пути, но также может и "удалять" поезда, которые еще находятся на путях узла – эта функциональность многократно запрашивалась создателями имитационных моделей.
Логика совместного использования ресурсов железнодорожного узла, таких как пути и стрелки, теперь может быть задана с помощью ресурсов и соответствующих объектов работы с ресурсами Основной библиотеки. Например, если часть узла (допустим, путь) должна быть заблокирована для того, чтобы дать проехать поезду, то Вы можете связать с этой частью узла ресурс. Тогда появившийся поезд должен будет захватить этот ресурс в свое пользование, а остальные поезда будут ждать в очереди объекта Seize. Для этих же целей Вы можете использовать объект Hold и пару объектов RestrictedAreaStart/End.
Объект SelectOutput может использоваться в диаграммах железнодорожных процессов для выбора между различными ветвями процесса, а объект Delay может естественным образом моделировать длительности остановок или длительносит операций, таких, как сцепление/расцепление или погрузка/разгрузка.
Анимации путей, стрелок, и вагонов автоматически создаются библиотекой. Начиная с версии AnyLogic 6.5.1 Железнодорожная библиотека также поддерживает создание 3D анимаций. Пути и вагоны теперь могут являться частью трехмерной сцены модели. Палитра стандартных трехмерных изображений 3D Объекты содержит готовые к использованию трехмерные объекты локомотива, пассажирского вагона, а также различных типов грузовых вагонов. Поскольку и Основная библиотека, и Пешеходная библиотека также поддерживают создание трехмерных анимаций, то теперь Вы можете легко создавать полностью динамические трехмерные модели железнодорожных станций и станций метрополитена, шаттлов аэропорта и других систем, где железнодорожная транспортировка присутствует наравне с движением пассажиропотоков.
Модель сортировочного узла: Classification Yard
Модель разгрузки поезда: Train Unloading