- AnyLogic 8.9.3 — Nov 20, 2024
- AnyLogic 8.9.2 — Oct 9, 2024
- AnyLogic 8.9.1 — Aug 6, 2024
- AnyLogic 8.9.0 — Apr 18, 2024
- AnyLogic 8.8.6 — Dec 18, 2023
- Что нового в AnyLogic 8.8.5 — 2 ноября 2023
- Что нового в AnyLogic 8.8.4 — 13 июля 2023
- Что нового в AnyLogic 8.8.3 — 28 апреля 2023
- Что нового в AnyLogic 8.8.2 — 22 марта 2023
- Что нового в AnyLogic 8.8.1 — 27 октября 2022
- Что нового в AnyLogic 8.8.0 — 9 августа 2022
- Что нового в AnyLogic 8.7.12 — 25 мая 2022
- Что нового в AnyLogic 8.7.11 — 11 апреля 2022
- Что нового в AnyLogic 8.7.10 — 9 февраля 2022
- Что нового в AnyLogic 8.7.9 — 12 декабря 2021
- Что нового в AnyLogic 8.7.8 — 15 ноября 2021
- Что нового в AnyLogic 8.7.7 — 27 сентября 2021
- Что нового в AnyLogic 8.7.6 — 21 июля 2021
- Что нового в AnyLogic 8.7.5 — 9 июня 2021
- Что нового в AnyLogic 8.7.4 — 29 апреля 2021
- Что нового в AnyLogic 8.7.3 — 21 марта 2021
- Что нового в AnyLogic 8.7.2 — 24 декабря 2020
- Что нового в AnyLogic 8.7.1 — 14 декабря 2020
- Что нового в AnyLogic 8.7 — 18 ноября 2020
- Что нового в AnyLogic 8.6 — 13 августа 2020
- Что нового в AnyLogic 8.5.1 - 8.5.2 — 23 января 2020
- Что нового в AnyLogic 8.5 — 20 августа 2019
- Что нового в AnyLogic 8.4 — 28 февраля 2019
- Что нового в AnyLogic 8 — 3 марта 2017
- Что нового в AnyLogic 7.3 — 2 февраля 2016
- Что нового в AnyLogic 7.2 — 29 июля 2015
- Что нового в AnyLogic 7.1 — 16 октября 2014
Major features
3D: Omniverse integration
- NVIDIA Omniverse integration provides high-quality 3D rendering for AnyLogic models through a live, real-time workflow. Your model connects directly to an Omniverse session, dynamically updating the 3D scene to reflect visual changes in agents, shapes, and markups. The new AnyLogic Omniverse connector element provides data transfer to Omniverse for synchronized scene updates.
Minor features and improvements
-
Material Handling Library:
- It is now possible to control the crane using API functions without adding a crane-related flowchart block to the model.
-
Rail Library:
- It is now possible to modify the collection of train reservations made on the railway track using the addToReservations() and removeFromReservations() functions.
-
Road Traffic library:
-
The Parking lot markup element now supports diagonal parking.
The Forced exit on timeout option has also been added to control the priority of a car leaving the parking lot compared to the car moving on the road. When the timeout expires, the car can leave its space regardless of the cars moving on the road.
The getParkingSpaceIndex() function has been added to get an index within the parking lot for the particular car parked in it.
It is now possible to set more than 100 parking spaces. - For the CarMoveTo block, the parking space selection policy has been added to specify a range of parking spaces or a specific space within a single parking lot where the car will stop at the end of its movement.
-
The Parking lot markup element now supports diagonal parking.
-
Model export:
- AnyLogic now automatically selects resource files to upload with the model to AnyLogic Cloud.
-
Graphical editor
- Pasting flowchart blocks from the clipboard after copying or cutting now inserts them at the cursor position.
-
Engine:
- The Rotation property and dynamic values for the x, y, z coordinates of the agent dropped on the canvas are no longer available for the agent without a presentation.
Bugfixes
- Animation: When the model was run at high speed, some charts were not drawn.
- Application: Moving a flowchart block while holding down the Shift key did not disconnect the block from the flowchart.
- Application: The border of the node could be moved through the attractor, resulting in the attractor being outside the node.
- Application: When copying a node with attractors, the attractors of the copy were displaced.
- Built-in Database: The Autoupdate imported tables on model startup option caused an exception if an external database was used to import data into the built-in database.
- Code Generation: Agent: The randomAgentInside() function of the agent could throw an exception if its space was occupied by another agent.
- Code Completion, Agent: Code completion did not work in the dynamic text field of the Rotation property.
- Material Handling Library: Conveyor spur: Agents moving on the conveyor spur had incorrect z-coordinate in some cases.
- Material Handling Library: ConveyorStation: Station could stop processing agents over the time.
- Material Handling Library: The Transporter agent type created by the wizard and called from a link in the TransporterFleet block caused an exception.
- Material Handling Library: OverheadCrane: The seize of an overhead crane with multiple bridges could cause an exception if the agent with higher priority preempted the current task of the bridge.
- Material Handling Library, Process Modeling Library: Path direction was not handled correctly in the getDistance() function of networks.
Major features
Material Handling library
-
Now you can simulate robots in your industrial models. Two new elements added: the Robot space markup shape and the ProcessByRobot block in Material Handling library. The block defines the operation logic (it can be either processing or transportation).
A new how-to model, ProcessByRobot, is included: Демо-модель: ProcessByRobot Открыть страницу модели в AnyLogic Cloud. Там можно запустить модель или скачать ее по ссылке Исходные файлы модели.
Application
-
To eliminate inconsistencies and improve usability, the behavior of embedded agents and their presentations are now unified. If an agent exists in space, you now define the location of its presentation (as well as its rotation) in the agent properties. If the agent does not exist in space (for instance, it defines a custom flowchart block), it should not have any movement-related functionality. Therefore, each moving agent should be included in the space (see the Space and network properties section of its upper-level agent).
The term environment has been removed from all user-accessible areas of the product, including the API, and substituted with space.
Minor features and improvements
-
Application:
- It is now always possible to save the model in the new ALPX format, which organizes different parts of the model as a set of files, without having to enable the feature first.
- The inspect window now displays the full text returned by the agent’s toString() function.
-
Engine:
- It is no longer possible to use the space-related API for the agent that is not located in the space (that is, used as a flowchart block).
- All environment-related methods are now deprecated. Use setSpace() and getSpaceType() functions instead of getEnvironment() and getEnvironmentSpaceType().
- New API for agent communication: sendToAllAgentsInside(), sendToRandomAgentInside().
- The following agent functions are now deprecated: receive(), deliver(), deliverToAllAgentsInside(), deliverToRandomAgentInside(), deliverToAllConnected(), deliverToRandomConnected(), deliverToAllNeighbors(), deliverToRandomNeighbor().
-
Graphical editor:
- Attractors inside Rectangular and Polygonal nodes now have absolute coordinates.
-
Library development:
- The Flowchart block option (available in the Library developer mode) is now automatically selected for the custom flowchart blocks created from the converted flowchart part.
Bugfixes
- Pedestrian Library: Sloped nodes were positioned incorrectly in 3D view.
- Rail Library: The Route should not contain property of the TrainMoveTo block was calculated twice.
- Road Traffic Library: The car did not consider the Z-coordinate of the level where it was moving.
- Road Traffic Library: The car did not consider the Z-coordinate of the intersection where it was moving.
- Animation: A chart did not display the dataset at runtime if another chart was displaying that dataset.
- Application: When pausing the model, the camera could lose its position and the 3D view could automatically return to the default view.
- Application: The text editor fields in the properties view could collapse or become unresponsive in some cases.
- Database: An error could occur if a model contained a large Excel file.
- GIS: An error could occur if a model contained an Excel file element and a GIS map.
- Property View: The empty Element Class property in the Collection element could cause the AnyLogic application to hang.
Material Handling Library
- The Downtime block(s) property has been added to the Conveyor, Station, Jib crane, and Overhead crane markup elements to easily set failures and planned maintenance.
- Transporter: The move() function is added to directly control the movement of the transporter without using a flowchart block.
- TransporterFleet: A new On destination reached callback have been added.
- The On failure and On repair actions have been removed from the Material Handling library markup elements.
Engine
- The Database connectivity element and the Import Database Tables wizard now support seamless connection to Oracle, PostGRE, MySQL, and MariaDB databases.
- Apache POI library have been updated, which may have impact on models that have the Excel integration. Cell type constants are now represented by the CellType enumeration instead of the int type.
Rail library
- Position on track: A new Offset from track start property has been added.
Built-in database
- If the imported Excel file contains a column with data of different types, it will be imported as a String type.
- Import of binary Excel files (XLSB) is no longer supported.
Example Models
- New how-to models: Create Conveyor Network by Code, Create Road Network by Code, Split and Combine, Enter and Exit, Service Queue Selection Policies, Discrete Pollution Propagation, Moving Transporter Without Flowchart Block.
- New how-to models that demonstrate the Pypeline library: Python from Experiment Screen, Interconnected Call Centers (Web App), Initializing and Exporting with JSON. The following models have been deleted: Demo - Passing Data Types, Demo - Passing Data Types 2 (JSON), Demo - Running Python Files, Traveling salesman, Simple Hospital (AI Testbed), Lorenz Weather Model - Pypeline.
Bugfixes
Application
- Fixed bug: When pausing the model, the current 3D camera view could automatically return to the default view.
Built-in Database
- Fixed bug: An Access database table was not displayed in the list in the Import Database Tables wizard if its name matched a keyword.
- Fixed bug: Importing and exporting data to an Excel list with a space character in its name caused an exception.
- Fixed bug: Importing tables from a password-protected database caused an exception.
- Fixed bug: It was impossible to import the data from an Excel spreadsheet containing cells with Boolean values.
- Fixed bug: The Database type drop-down list was not displayed in the Import Database Tables wizard until the database file was selected on Mac OS.
- Fixed bug: The File field in the Import Database Tables wizard did not display the name of the selected database file.
- Fixed bug: The exportToExternalDB() and importFromExternalDB() functions caused an exception when an Oracle database was used as an external database.
- Fixed bug: The exportToExternalDB() function did not work in some cases when Microsoft Access database was selected as the external database.
- Fixed bug: Searching for part of the name of the Excel file could cause an exception.
- Fixed bug: Database connectivity elements (Query, Insert, Update) caused exceptions when working with Oracle database.
Dialogs and Wizards
- Fixed bug: Opening the Choose probability distribution wizard could cause an exception if the previous model that used this wizard was closed.
Version Control
- Fixed bug: University Researcher version: Git operations with the Store in Secure Store option enabled caused a No secure storage modules found error.
- Fixed bug: Subsequent cloning of GIT repository configured with SSH didn’t work after restarting AnyLogic.
Application
- AnyLogic is now supported on the Mac ARM architecture.
- AnyLogic now supports Java 17.
- AnyLogic now supports Git.
- The AnyLogic Professional evaluation version is no longer supported. Instead, the limitations of AnyLogic PLE have been relaxed to provide more functionality in trial mode.
- You can now find potential memory leaks in your model with the new memory dump analyzer.
-
Minor improvements:
- It is now possible to get the list of references (for example, the call hierarchy) for the selected code element in the Java classes.
- Outline view for a Java class is now supported in Java classes.
- The Java class editor now supports Ctrl+click navigation.
- When hovering over a variable in the code box, the Java class editor now displays pop-up windows with variable type information.
- When quitting AnyLogic, it is now possible to select multiple models for saving in a special dialog.
- Agent population: in the Condition and Expression properties within the Statistics section, the name of the local variable has been changed from item to agent.
- The German and Italian localizations that are not supported have been removed from the product.
Model and library export
- AnyLogic now supports the new ALPX model format, a group of files containing different parts of the model.
Process Modeling library
- A new function, getDistanceTravelled(), is added. It returns the distance traveled by the agent.
Code generation
- Simultaneous changes to multiple code fields through refactoring, renaming, or formatting commands are faster.
Bugfixes
Material Handling library
- Fixed bug: On some versions of Linux, adding markup elements could stall the graphical editor.
- Fixed bug: Canceling an agent in the Convey block could cause errors in case the agent was redirected to the same Convey block.
Application
- Fixed bug: Linux: AnyLogic could not close properly after requesting a license. As a result, it was impossible to reopen AnyLogic.
Engine
- Fixed bug: The total distance traveled by an agent was incorrectly logged in the internal database if the agent was moved to the same point where it was already located.
Model and library export
- Fixed bug: If the versions of the internal AnyLogic Java and the user’s installed Java were different, Javadoc was not exported when creating a custom library.
Property view
- Fixed bug: MacOS: Leaving the Parameter Types menu due to a timeout caused an event loop exception.
Engine
-
Custom distribution properties are completely rebuilt.
Make sure your simulation results are accurate and reliable by checking the Preview section in the properties of any custom distributions you’ve created, and reviewing the models using those distributions. - The Reinforcement Learning experiment can now be called from Python scripts using the Alpyne library. Microsoft Bonsai is no longer supported.
- A new metal texture has been added to the texture palette.
Bugfixes
Application
- Fixed bug: 3D figures were not rendered in some cases.
- Fixed bug: The executeExpression() function caused an unnecessary warning.
Code completion
- Fixed bug: Clicking the action field caused the event loop exception.
- Fixed bug: Code completion in an empty number field did not work when a user selected an option with the mouse.
- Fixed bug: Renaming model elements with Ctrl + Enter did not work in some cases.
Miscellaneous
- Fixed bug: An Option List element used as a database column type caused an exception.
- Fixed bug: Trying to change the dimension properties of the transporter or material item agent types caused an event loop exception.
- Fixed bug: Importing a Java class by code discarded all the code in that code field.
- Повышена производительность среды разработки AnyLogic.
- Мастер подстановки кода работает быстрее при добавлении новых элементов в большие модели.
- Улучшена производительность и отзывчивость навигации и масштабирования в графическом редакторе для моделей, включающих большие сети.
- Повышена производительность перемещения агентов в больших сетях.
- Мы значительно снизили вероятность возникновения ошибки 64k Java runtime exception в моделях, включающих большие сети элементов из библиотек моделирования процессов и производственных систем, а также автомобильные и железнодорожные сети и стены.
- При наведении указателя мыши на графики и диаграммы теперь отображается дополнительная информация.
- Анимация модели приближается и удаляется более плавно.
- Поиск в картах ГИС теперь осуществляет новый поисковый сервер ГИС.
- Улучшена производительность алгоритма поиска маршрута для транспортеров, движущихся по заданному пути.
- В некоторых случаях порядок выполнения действий по входу/выходу переднего/заднего торца может меняться, если границы станции совпадают с границей другой станции или если на границе станции присутствует элемент разметки Точка конвейера.
- 3D-фигуры теперь можно использовать в качестве иконок и для анимации блоков в пользовательских библиотеках.
Генерация кода
- Исправлено: В группе реплицированных графиков только один автоматически обновлялся во время выполнения модели.
- Исправлено: Локальная переменная index не работала для реплицированных графиков, временных графиков, временных диаграмм с накоплением и временных цветовых диаграмм.
- Исправлено: Javadoc и подстановка кода не работали для сторонних библиотек.
Библиотека производственных систем
- Исправлено: В некоторых моделях с конвейерными сетями неожиданно возникала ошибка, сообщающая о неправильном расстоянии между объектами на конвейере.
- Исправлено: Конвейерная сеть: Предметы, поступающие на главный конвейер с нескольких ветвлений конвейера, могли поступать в неправильном порядке.
Исполняющий модуль
- Исправлено: Автогенерируемые 2D-изображения 3D-объектов теперь имеют расширение .png вместо .png_xjal.
Эксперименты
- Исправлено: Эксперимент по генетической оптимизации не вызывал ошибку в случаях, когда заданное число итераций было нечетным.
Экспорт моделей и библиотек
- Исправлено: Журналы выполнения экспортировались в AnyLogic Cloud вместе с базой данных модели.
-
Для улучшения моделирования пешеходных потоков в многоуровневых зданиях добавлены новый элемент разметки Лифт и новый блок PedElevator.
- Элемент Лифт визуально задает положение и характеристики лифта в модели движения пешеходных потоков.
- PedElevator моделирует процесс перемещения пешеходов на лифте.
- Добавлено несколько примеров моделей, демонстрирующих новую функциональность: Pedestrian Elevator, Elevator Connecting Floors Defined by Different Agents, Elevator Manual Control, Elevator Failure.
- Использовавшийся ранее в Библиотеке производственных систем элемент Лифт был переименован в Подъемник.
-
Для проведения экспериментов оптимизации теперь доступен новый Генетический оптимизатор.
- В оптимизационных экспериментах больше не поддерживаются типы параметров оптимизации int и набор значений.
- Добавлена проверка количества итераций, а также минимальных, максимальных и шаговых значений параметров.
- В модель Optimization in Custom Experiment добавлен новый эксперимент, демонстрирующий новый механизм генетической оптимизации.
Библиотека моделирования процессов
- Исправлено: При движении по сети агент мог некорректно возобновлять движение после паузы.
Железнодорожная библиотека
- Исправлено: TrainMoveTo: Свойство Ограничить расстояние перемещения игнорировалось, если поезд был приостановлен функцией pauseTrain().
- Исправлено: TrainMoveTo: Функция поезда getDistanceToTarget() возвращала некорректный результат, если использовалось свойство Ограничить расстояние перемещения.
Встроенная база данных
- Исправлено: В случае отсутствия или повреждения файлов базы данных вместо проверки соединения с базой данных появлялась ошибка.
- Исправлено: Запись журналов во встроенную базу данных могла приводить к отсутствию отклика приложения.
Графический редактор
- Исправлено: В macOS не отображалось 2D-представление 3D-фигур во время разработки модели.
Исполняющий модуль
- Исправлено: Анимация модели замирала, если окно модели было неактивно (например, скрыто другими приложениями) в течение нескольких минут.
- Исправлено: Возникала ошибка, если экспортированная модель интегрировалась в JAR-файл Spring.
ГИС
- Исправлено: Агент не мог пересечь линию перемены дат, если его движение было программно задано вдоль геометрической прямой.
Приложение
- Исправлено: После обновления AnyLogic пользовательские Java-классы не могли быть открыты во встроенном Java-редакторе.
Библиотека моделирования процессов
- Исправлено: Source: При выборе опции Считать параметры агентов из БД таблица Соответствие параметров агента не появляется автоматически.
Приложение
- Исправлено: Щелчок правой клавишей мыши по журналу модели в панели Проекты может вызвать ошибку ClassCastException.
- Исправлено: Мастер создания типа агента сбрасывает имя агента на используемое по умолчанию.
- Исправлено: Модель не может быть сохранена с новым именем Java-пакета, если одно из кодовых полей модели ссылается на ее базу данных.
- Исправлено: Индикаторы состояния модели на панели разработчика не работают в экспериментах, требующих нескольких «прогонов».
Встроенная база данных
- Исправлено: Импорт данных из файлов Excel вызывает ошибку в некоторых случаях .
Настройки
- Исправлено: При перезапуске AnyLogic включенная в настройках опция Режим разработчика библиотек перестает работать.
- Улучшено взаимодействие между складами и транспортерами в случаях, когда нескольким транспортерам требуется разместить или извлечь агентов из одной секции.
- Транспортеры, работающие в режиме произвольной навигации, могут самостоятельно выбраться из тупика.
- Добавлена валидация местоположения при размещении станции обработки на конвейере.
- Улучшено поведение графического редактора в ситуациях, когда пользователь изменяет диаметр поворотного стола или платформы вращения вручную (при помощи метки-манипулятора).
- Был улучшен внешний вид мастера создания базы данных из файла Excel на небольших мониторах.
- При создании вагона, автомобиля или другого агента раскрывается список подходящих 3D-фигур с анимацией.
- Библиотека Apache POI теперь импортируется по умолчанию. Ее функциональность доступна вне зависимости от наличия в модели элемента Файл Excel.
- Начиная с этой версии, вы не сможете открывать модели, созданные в AnyLogic 7 и более старых версиях. Чтобы продолжить работу с такой моделью, откройте и сохраните ее в AnyLogic 8–8.8.1.
Исполняющий модуль
- Исправлено: Элемент Расписание не позволял использовать время 0:00 (12:00 AM) по воскресеньям, если в качестве значения свойства Длительность была выбрана Неделя.
Библиотека производственных систем
- Исправлено: Материальные объекты в некоторых случаях могут застревать на станции обработки.
- Исправлено: Транспортеры могут застревать, если планировка локации включает длинный и узкий проезд.
Железнодорожная библиотека
- Исправлено: Изменение ориентации вагона в пространстве во время присоединения и разъединения может вызвать ошибку поиска маршрута.
Экспорт моделей и библиотек
- Исправлено: AnyLogic не загружает модель в AnyLogic Cloud и требует загрузить обновление даже при использовании самой свежей версии Cloud.
- Исправлено: macOS: Модель, экспортированная в отдельное приложение, использует браузер по умолчанию вместо Chromium.
ГИС
- Исправлено: В некоторых случаях карта ГИС с настроенной областью просмотра возвращается на область просмотра по умолчанию.
- Исправлено: Ошибка с отсутствием тайлов OpenStreetMap.
- Исправлено: Масштаб карты ГИС при «прогоне» модели отличается от масштаба в редакторе.
Графический редактор
- Исправлено: В некоторых случаях стены могут становиться невидимыми.
Приложение
- Исправлено: Список открытых моделей не восстанавливается, если AnyLogic закрыт некорректно.
- Исправлено: macOS: Имена элементов не показываются на компьютерах, использующих иврит в качестве системного языка.
- Исправлено: Открытие модели, имя пакета которой идентично имени пакета запущенной модели вызывает ошибку вида Невозможно открыть модель, даже если закрыть запущенную модель.
- Элемент разметки Склад теперь поддерживает типы стеллажей FIFO и LIFO.
- Для элемента Станция обработки добавлен механизм приоритизации задач.
- У элементов Платформа вращения и Поворотный стол теперь есть свойство Диаметр.
- Обновился дизайн конвертера чертежей САПР.
- Для различных видов ресурсов модели теперь поддерживается иерархический вид (директории, поддиректории).
Библиотека производственных систем
- Исправлено: Ветвление конвейера: Логика приоритетов работает некорректно, позволяя объектам на конвейере, имеющим низкий приоритет, «втискиваться» между объектами с высоким приоритетом.
- Исправлено: Транспортеры, двигающиеся по заданному пути, могут перерегистрироваться внутри зоны с ограниченным перемещениям, вызывая внутреннюю ошибку логики.
- Исправлено: Мостовой кран не обслуживает агента, если координаты этого агента совпадают хотя бы с одной координатой стартовой позиции крана.
Пешеходная библиотека
- Исправлено: Блок PedChangeLevel: Пешеход имеет неверные координаты, если перемещается к целевой линии, располагающейся на том же уровне.
Библиотека моделирования процессов
- Исправлено: Блок Wait: Вызов функции free(null) высвобождает всех агентов в блоке вместо того, чтобы приводить к появлению ошибки.
Приложение
- Исправлено: Диалоговые окна, запрашивающие действие от пользователя, могли появляться при запуске AnyLogic скрытыми экраном загрузки или другими окнами.
Диалоги и мастеры
- Исправлено: На macOS запрос в отдел поддержки невозможно было отправить, если он содержал приложенную модель.
Конвертация в разметку
- Исправлено: Конвертер САПР создавал стены с длиной 0, приводя к невозможности завершения запущенной модели.
Примеры моделей
- Исправлено: Проблемы с моделью Probability Distribution.
- AnyLogic теперь поддерживает Java 11.
Библиотека Производственных Систем
- Исправлено: Материальный объект иногда может вызывать срабатывание действия Точки конвейера, даже если не перемещается непосредственно на конвейер, на котором расположена данная Точка.
- Исправлено: Материальный объект может не покинуть реверсивный конвейер, если этот конвейер — последний в маршруте данного объекта, но не последний в сети.
- Исправлено: В некоторых случаях материальный объект может застрять на ветвлении, ведущем к реверсивному конвейеру.
- Исправлено: В блоке Retrieve иногда не работает свойство Условие выбора ресурса.
- Исправлено: Иногда счетчик конвейера при подсчете учитывает агента, уже покинувшего конвейер.
- Исправлено: Иногда скорость мостового крана невозможно изменить динамически.
- Исправлено: Блок Store и функция store() могут поместить объект в ячейку, ранее зарезервированную с помощью функции setReservation().
- Исправлено: Деактивированные ячейки склада не учитывались при подсчете свободных ячеек.
- Исправлено: Иногда в конвейерной сети может появляться несуществующий агент.
Библиотека Моделирования Процессов
- Изменены приоритеты задач ресурсов: теперь ресурс возвращается к прерванной задаче, если в его очереди нет задач с более высоким приоритетом.
- Исправлено: Ресурс не возвращается к обслуживаемому агенту после прерывания задачи, если движение ресурса к агенту было прервано.
- Исправлено: Блок MoveTo, работающий в режиме агент помещается (мгновенно), может вызывать утечки памяти.
Железнодорожная библиотека
- Исправлено: Для железных дорог, созданных путем конвертирования шейп-файла, не создаются стрелки.
Приложение
- Редактор Java поддерживает больше комбинаций горячих клавиш.
- Направление движения конвейеров теперь можно изменять.
- Полностью переработана система встроенной документации.
Библиотека Производственных Систем
- Исправлено: Если на главном конвейере находится заблокированный материальный объект, движение по конвейеру, соединенному с ветвлением конвейера, может прерываться.
- Исправлено: В некоторых случаях материальный объект может быть заблокирован у входа на станцию обработки, если активирована опция Обработка начинается, когда агент заходит на станцию.
- Исправлено: Низкая производительность модели при включенной записи в журнал выполнения модели.
Библиотека Моделирования Процессов
- Исправлено: При транспортировке агента со склада скорость ресурса идентична скорости транспортируемого агента.
Железнодорожная библиотека
- Исправлено: Если путь только что разблокирован поездом, следующий поезд на этом пути двигается очень медленно.
Исполняющий модуль
- Исправлено: Эмпирическое распределение может возвращать некорректные результаты при работе в режиме задания через Набор наблюдений.
Демонстрационные модели
- Новые демонстрационные модели: Reversible Conveyors, Reversible Conveyor Buffer, Item Flow Control on a Reversible Conveyor Spur.
Экспорт моделей и библиотек
- Исправлено: Ошибки при экспорте в Cloud моделей со сложной системой зависимостей.
Активация и лицензии
- Исправлено: Некорректная работа настроек прокси-сервера в мастере активации.
Библиотека Моделирования Процессов
- Исправлено: Перемещаемый блоком MoveTo Агент теряет сведения о том, в каком узле сети находится.
- Исправлено: Режим движения по прямой линии блока MoveTo функционирует некорректно.
Приложение
- Исправлено: Невозможно изменить адрес частного облака Private Cloud, если к предыдущему адресу нет доступа.
Исполняющий модуль
- Исправлено: Проблемы с экспериментом варьирования параметров вызывают ошибки при детализации и округлении значений.
Экспорт моделей и библиотек
- Исправлено: Модели в AnyLogic Cloud не могут экспортировать из базы данных AnyLogic в файлы Excel.
GIS
- Исправлено: Пройдя половину маршрута, агенты начинают двигаться по прямой.
Интернационализация и локализация
- Немецкая локализация удалена из приложения AnyLogic и установочного пакета.
Установочный пакет
- Библиотеки SWT обновлены для улучшения работы приложения в macOS.
Библиотека Производственных Систем
- Исправлено: Ошибка при вычислении расстояния, когда агент поступает на станцию обработки.
- Исправлено: Транспортеры не воспринимают мостовой кран как препятствие, несмотря на то, что выбрана опция Является препятствием.
- Исправлено: При выборе кратчайшего пути может выбираться не самый ближайший транспортер, поскольку место назначения находится внутри препятствия.
- Исправлено: Транспортер останавливается возле гейта между уровнями, если гейт окружен стенами или находится в узле с ограничением доступа.
- Исправлено: Транспортер останавливается возле подъемника, если подъемник окружен стенами или находится в узле с ограничением доступа.
- Исправлено: Местоположение обслуживаемого агента обновляется слишком долго, из-за чего ресурс двигается в неправильное место назначения.
- Исправлено: Захват транспортера приводит к ошибке, если место назначения — элемент Путь.
- Исправлено: Склад: При попытке положить агента в деактивированную ячейку возникает неправильное сообщение об ошибке.
- Исправлено: Ошибка при попытке загрузить файл состояния модели.
Пешеходная Библиотека
- Исправлено: Проблемы с ограничением доступа в узел по пропускной способности.
- Исправлено: Карта плотности пешеходного потока содержит отрицательные значения.
- Исправлено: Пешеходы скапливаются на целевой линии в моделях с блоком Ped Area Descriptor.
- Исправлено: Пешеходы скапливаются в областях с высокой плотностью агентов.
Библиотека Моделирования Процессов
- Исправлено: Модель прекращает работу при обновлении события на приостановку работы для ресурсов, находящихся в состоянии IDLE.
- Исправлено: Move To: В режиме перемещения при возобновлении работы агента заново применяется изначальное значение времени перемещения.
- Исправлено: В блоках библиотеки не собирается статистика, несмотря на то, что выбрана опция Включить сбор статистики.
- Исправлено: PML Settings: Снятая галочка в опции Сбор статистики по умолчанию вызывает ошибку при попытке закрыть модель.
- Исправлено: Местоположение обслуживаемого агента обновляется слишком долго, из-за чего ресурс двигается в неправильное место назначения.
Библиотека Дорожного Движения
- Исправлено: Traffic Light: Поле Фаза в панели Свойства не отображает все нужные стоп-линии.
Встроенная база данных
- Исправлено: AnyLogic выдает ошибку при подключении к базе данных Excel.
Экспорт модели / библиотеки
- Исправлено: Нарушен порядок зависимостей в AnyLogic и экспортируемой модели.
- Исправлено: Проблемы с переключением с устаревшей версии Private Cloud на AnyLogic Public Cloud.
Обучение с подкреплением
- Прекратилась поддержка экспорта в Pathmind в связи с тем, что компания Pathmind закрылась.
Элемент разметки пространства Склад теперь поддерживает размещение стеллажей спиной к спине.
Библиотека Производственных Систем
В нескольких свойствах блока Retrieve появилась локальная переменная unit.
Пешеходная Библиотека
- Термин "область" заменили на термин "узел" в названиях свойств нескольких библиотечных блоков.
- Появилась возможность менять цвет очереди в очереди-змейке.
Примеры
- В демонстрационной модели Create GIS Network by Code вы можете посмотреть, как создавать ГИС-сеть своими руками с помощью кода.
Библиотека Производственных Систем
- Исправлено: Ошибка, которая мешала разместить рядом несколько складов.
- Исправлено: Видимость транспортера, который двигается на невидимой платформе подъемника.
Экспорт модели
Исправлено: Мастер управления экспортом модели в облако выдает ошибку NPE, если не выбрана иконка эксперимента.
Приложение
Исправлено: Невозможно удалить файл ресурсов из дерева модели, если этот файл уже был удален из папки.
Исполняющий модуль
Исправлено: Функция differenceInCalendarUnits() выдает ошибку StackOverflow.
Теперь вы можете использовать файл для записи результатов эксперимента в AL Cloud. Поддерживаются все типы файлов, включая архивы ZIP.
Диалоговые окна
- Обновилась структура и локализация Мастера активации продукта.
- Появились переводы на экране-заставке.
Пешеходная Библиотека
- Теперь пешеходы более точно проходят через целевые линии.
- Приемлемое расстояние до стен, которое используется при расчете маршрутов, теперь зависит от диаметра пешехода.
- Сократилось время реагирования на застрявшего пешехода.
Библиотека Производственных Систем
- Исправлена ошибка на этапе выполнения при ремонте подъемника, который сломался во время операции погрузки на него агента.
- Поворотный стол использует скорость по умолчанию, если во время вращения на нем нет агента.
Библиотека Моделирования Потоков
- Блок FluidToAgent в режиме Создавать агента для каждой партии создает лишних агентов с неправильным количеством вещества и типом партии.
Библиотека Моделирования Процессов
- Исправлена ошибка на этапе выполнения, вызванная последовательным распределением задачи "downtime" и задачи "конец смены".
Обучение с подкреплением
- Исправлены проблемы с инициализацией, ведением журналов и порядком выполнения функций обратного вызова.
Появился элемент разметки пространства Склад: с его помощью вы можете создавать пространства для хранения на стеллажах. Вы можете выбрать тип стеллажа (набивной или селективный). Процессы размещения и извлечения агента моделируются с помощью новых блоков Store и Retrieve. Также появился блок-агрегатор Storage System, который может служить единой точкой доступа и управления несколькими складами одновременно.
Документация AnyLogic
- AnyLogic Cloud: Появилась информация о подписке на Cloud и управлении подписками.
Примеры
- В модели Slotting Policies in Drive-in Storage можно посмотреть, как работают различные правила размещения агента на складе на примере склада со стеллажами набивного типа.
Библиотека производственных систем
- Новая функция API getConveyingSpeed() возвращает скорость, с которой материальный объект перемещается по конвейеру.
- Тип транспортера теперь нельзя переименовать во время выполнения модели.
- Теперь в графическом редакторе к определенному сетевому порту можно присоединить только один путь.
Пешеходная библиотека
- Улучшена производительность моделей, использующих пешеходную библиотеку.
Библиотека моделирования процессов
- Если в свойствах одного из блоков ResourcePool есть ошибка в распределении перерывов, сообщение об ошибке теперь будет указывать на проблемный блок.
Библиотека производственных систем
- Исправлено: Управление транспортерами: Подсчет числа шагов во избежание столкновений в некоторых случаях производился некорректно.
- Исправлено: В моделях с нестандартным масштабом каретки кранов могли перемещаться на неверной высоте.
Библиотека дорожного движения / Графический редактор
- Исправлено: Иногда элемент разметки Дорога по ошибке переносился на другой уровень при его изменении в панели Проекты.
Библиотека производственных систем
- Переименованы политики выбора транспортеров: к примеру, Кратчайший маршрут теперь называется Кратчайший маршрут к месту погрузки.
- Новый метод API createPort() создает сетевой порт для элементов разметки Путь и Конвейер.
- Метод API setPairedPort() теперь нельзя вызывать во время выполнения модели.
- Метод API setQuantity() теперь можно вызвать во время выполнения модели, чтобы изменить значение свойства Вместимость элемента Станция обработки.
Библиотека моделирования потоков
- При окончании смешивания новой партии в блоке MixTank значение объема выдаваемой блоком партии высчитывается заново автоматически.
- Новый метод API amountBeingDispensed() для блока Valve позволяет получить значение объема жидкости, пропускаемой этим блоком.
Библиотека моделирования процессов
- Для агентов, появляющихся в результате обработки партии блоком Unbatch, можно задать Географическую точку в качестве Нового местоположения.
Исполняющий модуль
- Мастер преобразования чертежей САПР теперь поддерживает команды Выбрать все, Очистить выбор, и другие команды для списка слоев. Кроме того, появились другие небольшие улучшения для более удобной работы.
ГИС
- Новые методы API позволяют создавать двунаправленные и однонаправленные маршруты на карте ГИС.
Интернационализация
- Исправлены некоторые ошибки в русской и китайской локализациях.
Документация AnyLogic
- AnyLogic Cloud: В разделе о частном облаке Private Cloud появились руководства по архитектуре сервиса и справочник по установщику.
- Добавлены новые примеры работы с продуктом и справочные материалы.
Демонстрационные модели
- В демонстрационной модели Mobile Rack System были изменены приоритеты и политики вытеснения, чтобы избежать ситуаций одновременного захвата транспортеров.
- При прогоне модели Rack System with AGV теперь можно посмотреть презентацию работы в 2D.
- В модели Create Transporter Network by Code теперь есть пример создания сетевого порта с помощью кода.
Библиотека производственных систем
- Исправлено: Станция обработки, находящаяся в режиме Обработка начинается, когда агент заходит на станцию, некорректно подсчитывала число обработанных материальных объектов в значении свойства Вместимость.
- Исправлено: Транспортеры с произвольной навигацией могли проходить сквозь стены после выхода из подъемника.
- Исправлено: Транспортеры с произвольной навигацией начинали вращаться, находясь в базовом местоположении или в месте назначения.
- Исправлено: При работе с моделью в режиме параллельного запуска могла появиться ошибка Concurrent modification exception, если в модели имелись транспортеры.
- Исправлено: Иногда транспортеры, осуществляющие навигацию по заданным путям, не могли определить наличие других транспортеров через сетевые порты.
- Исправлено: Метод API транспортеров timeInState() возвращал текущее модельное время для транспортеров, созданных динамически.
- Исправлено: Попытка транспортера избежать столкновения с другим транспортером, заблокированным стоящим впереди третьим транспортером, приводила к полной блокировке работы модели.
- Исправлено: Если агент был отменен с помощью кода, заданного в контексте блока MoveByCrane, пока мост крана перемещался к этому агенту, появлялось сообщение об ошибке.
- Исправлено: Иногда наличие в модели кранов приводило к проблемам с производительностью.
- Исправлено: При использовании локальной переменной agent, в контексте действий При старте процесса и При окончании процесса элемента Станция обработки не вызывался первый агент, находящейся на станции, при условии, что была выбрана опция Обработка начинается при полной загрузке станции.
Библиотека моделирования потоков
- Исправлено: Иногда блоки ProcessTank and Tank не высвобождали жидкость.
Библиотека моделирования процессов
- Исправлено: Если в качестве нового местоположения для партии, обработанной блоком Batch, была указана географическая точка, то иногда появлялась ошибка Parameter is not specified.
Встроенная база данных
- Исправлено: Пользователь не получал уведомление, что в колонках таблицы содержатся данные в разном формате.
Исполняющий модуль
- Исправлено: Иногда настройки прокси в приложении AnyLogic не действовали на подключение к другим ресурсам AnyLogic - например, AnyLogic Cloud.
- Исправлено: Иконка ALP-файла в панели Проекты ошибочно переходила в состояние "файл изменен", если в папке модели появлялись новые неиспользуемые файлы, или удалялись существующие неиспользуемые файлы.
Библиотека производственных систем
- Появились функции транспортеров ignoreCollisions() and ignoreCollisionsFor(), с помощью которых можно управлять способностью транспортеров воспринимать друг друга в качестве препятствий.
Исполняющий модуль
- Обучение с подкреплением: интеграция с Pathmind.
- Обновление сторонних библиотек.
- Регенерация пользовательского кода для моделей с ошибками в кодовых полях.
Установка
- USB dongle driver был удален из дистрибутива для Windows.
Встроенная база данных
- Был создан документ Javadoc для ModelDatabase.
Анимация
- Chromium обновлен до последней версии.
Документация AnyLogic
- Руководство по устранению неисправностей для Private Cloud.
- Примеры использования методов нативных библиотек в Java с помощью JNI и JNA.
Библиотека моделирования процессов
- Перерывы, заданные с помощью расписаний, не срабатывали, если при запуске модели у расписания было значение 'on'.
- Ошибка при открытии окна инспекта в блоке ResourcePool в окне модели, если перерывы в блоке были заданы расписанием.
- Ошибка Блок не поддерживается, когда блоки Библиотеки производственных систем используются в диаграмме процесса для подготовки ресурса.
- Диаграмма процесса для подготовки ресурса игнорировалась, если в ней присутствовал блок Service.
Пешеходная библиотека
- Пешеход не мог войти или выйти из узкой очереди-змейки.
- Ошибка Цель не может быть достигнута в некоторых моделях с маленьким масштабом.
- Пешеходы не могут двигаться в местах, где ширина прохода меньше 10 см (в соответствии с масштабом агента).
- Ошибка Невозможно создать многоугольник в некоторых моделях с узлами, в которых задано ограничение доступа.
Библиотека производственных систем
- Улучшилась производительность моделей, где транспортеры используются нечасто.
- Потенциальная утечка памяти в моделях с транспортерами, которые двигаются по заданным путям.
- Транспортеры с навигацией по заданным путям не двигались по путям между узлами с ограничением доступа.
- Потенциальная ошибка Неверный аргумент в моделях с транспортерами, которые двигаются по заданным путям, если этим транспортерам приходится взаимодействовать с узлами с ограничением доступа.
- Транспортеры с навигацией по заданным путям останавливались в сетевом порте.
- Транспортеры с навигацией по заданным путям не соблюдали дистанцию друг с другом после перемещения по сетевому порту.
- Транспортеры с произвольной навигацией не соблюдали заданную ориентацию при перемещении с помощью подъемника.
- Ошибка Агент не может покинуть порт внутри блока Convey.
- Станцию невозможно добавить на конвейер, который короче длины станции по умолчанию.
- Обработка на станции, расположенной на ленточном конвейере, начиналась, когда агент еще не успел достичь начала станции, что приводило к блокировке конвейера.
- Производительность моделей с кранами резко падала после двадцати лет модельного времени.
Железнодорожная библиотека
- Неправильная ориентация вагона после расцепления в блоке TrainDecouple.
- Ж/д сеть портилась при уменьшении масштаба.
ГИС
- Сеть ГИС: исправлен ряд ошибок при вычислении длины ГИС-маршрута.
- Длина маршрута, созданного при разработке модели, зависела от типа карты маршрутов при запуске модели.
Диалоговые окна
- Ошибка строки в диалоговом окне Создать блок диаграммы процесса.
- Диалог создания нового эксперимента предлагал неправильные имена по умолчанию для всех экспериментов кроме простого эксперимента.
Графический редактор
- Элементы разметки пространства наполовину не видны при создании модели.
- При редактировании в панели Проекты конвейер перемещался на другой уровень.
- Стеллаж перемещался на другой уровень, если путь проводили через проход в другом стеллаже.
Пешеходная библиотека и Библиотека производственных систем
- В карте плотности появилась возможность использовать скользящее временное окно, чтобы задавать период времени, в течение которого собираются данные.
- Появилась возможность строить карту плотности на основе среднего значения плотности.
Дорожная библиотека
- В поле действия При проезде машины элемента разметки пространства Стоп-линия теперь можно использовать локальную переменную car.
- Появилась возможность подсчитать количество машин на стоп-линии с помощью API метода queueSize() элемента разметки пространства Стоп-линия.
- Появилась возможность собирать статистику по автомобилям, проезжающим через перекресток с помощью новых API функций элементов разметки пространства Дорога и Перекресток: traffic(), countCars(), resetStats().
- Появилась возможность запросить данные о маршруте автомобиля с помощью функции API getRoute() машины и следующих функций API объекта Маршрут: getRoads(), getIntersections(), getLength().
- Появилась возможность получить среднюю скорость машины с помощью новой функции API машины: getAverageSpeed().
- Появилась возможность получить количество машин на конкретной полосе с помощью новой функции API элемента разметки пространства Дорога: nCarsOnLane().
Библиотека моделирования процессов
- Появилась возможность задавать местоположение для извлеченных из партии агентов в блоке Unbatch.
Библиотека производственных систем
- Агент может пройти через блок ReleaseTransporter, не вызвав ошибку, даже если он не обслуживается транспортером.
Приложение
- Ссылки на сообщество в Linkedin заменены ссылками на Stack Overflow.
Диалоги
- Диалог "Обратиться за помощью" теперь проверяет размер прикрепленных файлов и только потом отправляет их.
- Размер прикрепленных файлов в диалоге "Обратиться за помощью" теперь ограничен 30 Мб: в них входят как сама модель, так и другие файлы.
Пешеходная библиотека и Библиотека производственных систем
- Исправлено: Данные карты плотности не сбрасываются возле целевой линии.
- Исправлено: Функция hide() карты плотности не выполняет ничего, если вызвать ее в поле действия При запуске модели.
- Исправлено: Карта плотности затухает слишком быстро.
- Исправлено: Карта плотности для транспортеров рассчитывается для всех уровней одновременно, а не для одного указанного уровня.
Библиотека производственных систем
- Исправлено: При перемещении с помощью подъемника транспортеры теряют заданную ориентацию.
- Исправлено: Транспортеры с произвольной навигацией не воспринимают друг друга как препятствие.
- Исправлено: Ошибка "Неправильное время события" может возникать во время движения мостового крана.
- Исправлено: Функция getDistanceTravelled() транспортера возвращает неправильный результат.
- Исправлено: Подающий ленточный конвейер продолжает двигаться несмотря на то, что агент, расположенный на его конце, не может двигаться, потому что исходящий конвейер остановился.
- Исправлено: Агент заблокированный блоком Hold может продолжать движение по конвейеру.
- Исправлено: Материальные объекты застревают на конвейере, если в качестве единиц модельного времени выбраны не секунды.
- Исправлено: Транспортер замедляется, подъезжая к сетевому порту.
Пешеходная библиотека
- Исправлено: Блок PedEnter не перемещает агента в указанные координаты, если агент уже является пешеходом.
- Исправлено: При смене уровня пешеход на мгновение появляется на предыдущем уровне.
Библиотека моделирования процессов
- Исправлено: Вызов функции recalculateResourceChoiceConditions() приводит к ошибке "Данный агент не может находиться в этом блоке Seize", если в диаграмме процессов несколько блоков Seize размещены друг за другом.
Библиотека моделирования потоков
- Исправлено: В модели с большой входящей скоростью и единицами времени кроме секунд количество жидкости рассчитывается неправильно.
ГИС
- Исправлены проблемы с разными API, используемыми для расчета расстояний. Теперь все расчеты, выполняемые с помощью разных API, возвращают одинаковые результаты.
- Исправлено: В ГИС маршруте расстояние от начальной точки (X) может быть больше, чем длина (Y).
- Исправлено: Вызов метода Agent.moveToInTime() в контексте модели приводит к ошибке NPE.
- Исправлено: Неправильный Z-порядок фигур на ГИС карте.
Исполняющий модуль
- Исправлено: Набор данных, созданный из переменной системной динамики не обновляет данные автоматически.
- Исправлено: Распределение uniform_discr() возвращает неправильное значение, когда используется с большими числами.
Анимация
- Исправлено: Порядок отрисовки объектов по Z-оси.
Импорт DXF
- Исправлено: Перемещение элементов после окончания конвертации DXF.
Экспорт модели
- Исправлено: Проблемы с экспортом моделей, созданных с использованием сложных внешних библиотек и ресурсных зависимостей для всех поддерживаемых платформ, что негативно влияло на экспорт в AnyLogic Cloud и экспорт модели в качестве независимого приложения.
- Исправлено: Папка, содержащая внешние классы, не входит в состав экспортируемой модели.
- Исправлено: Порядок экспортируемых JAR может зависеть от операционной системы и не соответствует порядку, указанному в модели.
Диалоги
- Исправлено: Проблема с кодировкой, влияющая на отображение названий компаний в AnyLogic.
Исполняющий модуль
- Исправлено: окно анимации при запуске модели не отображает ничего.
- Исправлено: медленная отработка анимации, добавилась возможность отображать 3D объекты, находящиеся на большом расстоянии, с низким уровнем детализации (см. Инструменты > Настройки > Выполнение модели).
Приложение
- Обновления в локализации на китайский язык.
Справка
- Перевод руководства администратора AnyLogic Cloud на русский.
Исполняющий модуль
- Исправлено: Ошибка "Переход невозможно разрешить в переменную", появляющаяся после сохранения модели под новым именем.
- Исправлено: Временной график не отображает время в формате AM/PM, несмотря на выбранный формат оси.
Библиотека производственных систем
- Исправлено: Агенты с одинаковыми приоритетами неправильно обрабатываются мостовым краном.
- Исправлено: Ошибка во время отрисовки кадра анимации, когда транспортер перемещается с помощью подъемника.
- Исправлено: Несколько агентов могут попасть в один лоток конвейера с лотками, вызывая таким образом ошибку "Неправильное расстояние между объектами на конвейере".
Библиотека Моделирования Процессов
- Исправлено: Внутреннее сообщение об отмене для блока RestrictedAreaStart в тех случаях, когда агенты не могут одновременно войти в открытую область с ограничением по вместимости.
Приложение
- Исправлено: Часть командного файла не соответствует BAT-файлу независимого приложения в том случае, если Java не установлена в папку Program Files.
- Исправлено: AnyLogic падает во время генерации изображения для предварительного просмотра с большим количеством элементов в диалоге "Экспортировать модель в AnyLogic Cloud".
Анимация выполнения модели
- Исправлено: В панели разработчика отображается неправильное время после смены часового пояса с помощью кода.
Библиотека производственных систем
- Трансфер, который был некорректно соединен с конвейером, теперь указывается в сообщении об ошибке.
- Если возникает внутренняя ошибка при расчете движения транспортера, имя этого транспортера теперь указывается в сообщении об ошибке.
Пешеходная библиотека
- Движение пешеходов возле целевой линии стало более точным.
- Блок PedEnter: Появилась функция take(), с помощью которой можно принимать в блок пешехода.
- Документация API (javadoc).
Железнодорожная библиотека
- API поезда, который вызывается, когда поезд покидает ж/д узел, теперь учитывает и те вагоны, которые уже покинули ж/д узел.
Все библиотеки
- Документация API (javadoc) для элементов разметки пространства.
Графический редактор
- Соединители с нулевой длиной, оставшиеся в портах блока, удаляются автоматически.
Приложение
- Производительность графа маршрутизации.
Теперь для мостовых кранов можно задавать нужное количество мостов. Этот вид крана, как и другие, по умолчанию работает автоматически: сам задает очередность движения мостов, но вы также можете управлять им вручную, с помощью API; такой способ подойдет продвинутым пользователям.
Появилась возможность настраивать сложные процессы захвата и освобождения крана с помощью блоков SeizeCrane и ReleaseCrane.
Теперь вы можете создавать пешеходные зоны с ограничениями по вместимости, пропускной способности и другим условиям. Например, можно смоделировать супермаркет, где из-за мер по борьбе с пандемией могут одновременно находиться не более 100 человек, или эвакуацию людей: ограничить доступ в зону при пожаре или открыть доступ к эвакуационным выходам.
Пешеходам можно задать социальную дистанцию: они будут стараться соблюдать ее, как в реальной жизни. Это еще одно нововведение, которое поможет смоделировать ограничения в период пандемии.
Улучшился алгоритм построения маршрутов для пешеходов.
Теперь в блоке Seize появилась возможность заново рассчитывать приоритет задач для агента, пока этот агент находится в блоке.
Теперь AnyLogic поддерживает автоматическое создание моделей зданий из CAD-чертежей. Элементы 2D-чертежей из CAD-файлов можно конвертировать в стены моделируемых зданий. Встроенный в AnyLogic конвертер автоматически распознает элементы в чертеже, а пользователю нужно выбрать, какие из них отразить в модели в виде стен. Вы можете загружать чертежи в форматах .dxf (теперь и для версий старше 2010 года) и .dwg.
Улучшилась производительность 2D и 3D анимации в ходе выполнения модели.
Эксперимент обучения ИИ, который позволяет настраивать обучение ИИ-агента с помощью имитационной модели. Поддержка экспорта в платформу обучения ИИ Microsoft Bonsai.
Демо-модель: Crane System with Multiple Bridges Открыть страницу модели в AnyLogic Cloud. Там можно запустить модель или скачать ее по ссылке Исходные файлы модели. Демо-модель: SeizeCrane and ReleaseCrane Открыть страницу модели в AnyLogic Cloud. Там можно запустить модель или скачать ее по ссылке Исходные файлы модели. Демо-модель: Area with Restrictions for Pedestrians Открыть страницу модели в AnyLogic Cloud. Там можно запустить модель или скачать ее по ссылке Исходные файлы модели.Исполняющий модуль
- Улучшена документация по API (javadoc).
- В поле Видимость реплицированной фигуры теперь можно использовать индекс фигуры.
- API: Методы, задающие свойства групп верхнего уровня презентации (например, setX(), setVisible(), …), теперь недоступны — при попытке их использования показывается подробное сообщение об ошибке.
Библиотека Моделирования Процессов
- Добавлены функции API, предназначенные для сборки подробной статистики о простое ресурса.
- ResourcePool: информация о времени простоя теперь видна в окне инспекта.
Железнодорожная библиотека
- Для возвратных функций элемента разметки Точка ж/д пути теперь можно задать тип агента аргумента train.
- Добавлено предупреждение, когда поезд не достигает цели в процессе прохождения блока TrainMoveTo.
Библиотека производственных систем
- Улучшена документация по API (javadoc).
- Мостовой кран: функции API getInitialPosition() и setInitialPosition() переименованы в getInitialOffset() и setInitialOffset() соответственно. Предыдущие методы устарели и не совместимы с кранами, имеющими более одного моста.
- MoveByCrane: функции API remove() и cancel() теперь высвобождают занятый кран.
- Стреловой кран: добавлены функции API, позволяющие получить значения X-, Y- и Z-координат точки расположения крюка крана.
Пешеходная библиотека
- Улучшена документация по API (javadoc).
Графический редактор
- Улучшена производительность операций группового редактирования: например, изменения цветов фигур.
- Улучшен внешний вид диаграмм на этапе их редактирования.
- Улучшен внешний вид стрелок на железнодорожных путях со сложной структурой.
Палитра
- С панели Палитра удалена кнопка-крестик. Чтобы скрыть палитру, щелкните по кнопке с плюсом, расположенной в нижней части панели Палитра.
Анимация
- Chromium обновлен до последней версии.
Панель Свойства
- Улучшен внешний вид таблицы Соответствие параметров агента.
Примеры
- Демонстрационные модели: Обновлен раздел "Использование Python в AnyLogic", основанный на библиотеке Pypeline (библиотека не входит в состав продукта, она находится в открытом доступе на GitHub).
- Новые модели: SeizeCrane and ReleaseCrane, Crane System with Multiple Bridges, Areas with Restrictions for Pedestrians, Demo - Passing Data Types 2 (JSON) (для библиотеки Pypelyne).
Исполняющий модуль
- Исправлено: ГИС: Не появлялась ошибка, если запрошенный маршрут отсутствовал у поставщика маршрутов.
- Исправлено: ГИС: результаты, возвращаемые функцией getDistanceByRoute() до и после создания кэша, могли различаться.
- Исправлено: функция ModelDatabase.exportToExternalDB() не работала, если была запущена из нестандартного эксперимента.
- Исправлено: При заполнении дискретного пространства могла появиться ошибка.
- Исправлено: База данных: Выполнение функции exportToExternalDB() могло вызвать ошибку "неправильный синтаксис возле '0'".
Библиотека производственных систем
- Исправлено: Неверно рассчитывалась дистанция между объектами, проходящими через ветвление конвейера.
- Исправлено: При использовании поворотного стола могла появиться ошибка "Неверный угол".
- Исправлено: При использовании транспортеров в экспериментах с нескольким числом "прогонов" могла произойти утечка памяти.
- Исправлено: Некорректный подсчет времени загрузки в блоке MoveByCrane.
Библиотека Моделирования Процессов
- Исправлено: Seize: При использовании правила захвата Захватывать ресурсы один за другим могла появиться ошибка, вызванная наличием альтернативных наборов ресурсов.
- Исправлено: Могла появиться ошибка "ResourceUnitEndOfShiftTask cannot be cast to ResourceUnitEntityServiceSubtask".
- Исправлено: Могла появиться внутренняя ошибка "Cancelling entity with some path but unknown destination".
Пешеходная библиотека
- Исправлено: Пешеходы, переходящие между уровнями, могли на секунду появиться на другом уровне.
- Исправлено: Возможные проблемы при использовании нежелательных источников случайности.
Графический редактор
- Исправлено: Конвертер шейп-файлов в фигуры железнодорожной разметки: Могла появиться ошибка "Offset is negative".
- Исправлено: Возможное появление исключения при удалении дороги, связанной с перекрестком.
- Исправлено: Преобразование шейп-файлов в фигуры железнодорожной разметки могло вызвать несколько ошибок вида "Длина равна нулю".
- Исправлено: При повороте железнодорожной сети некоторые пути могли разъединиться.
- Исправлено: Проблема с позиционированием, которая могла привести к ошибкам запуска при активации железнодорожной стрелки.
Палитра
- Исправлено: Зависание всплывающего окна с палитрами на операционных системах Linux.
Приложение
- Исправлено: Экспорт модели: Ошибка NoClassDefFoundError, возникающая при экспорте модели, содержащей ГИС карту.
- Исправлено: Возможное закрытие приложения AnyLogic на операционных системах Linux при редактировании параметров.
Теперь новые модели при запуске по умолчанию не демонстрируют экран с презентацией простого эксперимента. Это контролируется с помощью опции Пропустить экран эксперимента и запустить модель в свойствах простого эксперимента.
Теперь вы можете ограничивать движение и скорость транспортеров в областях, заданных с помощью элементов разметки пространства Прямоугольный узел и Многоугольный узел. Доступ в область может быть ограничен по количеству агентов, по расписанию, пропускной способности и т.д. Также вы можете вручную открывать и закрывать такие области, используя соответствующий API. Приблизившись к закрытой области транспортеры могут остановиться и подождать, когда доступ будет открыт, или объехать ее по другому маршруту.
Мы улучшили алгоритмы поведения и видимости для транспортеров с навигацией по заданному пути.
Станции обработки на конвейерах теперь могут начинать обработку материальных предметов по мере их поступления на станцию, не дожидаясь, пока станция заполнится в соответствии с заданной вместимостью. Чтобы активировать такое поведение, в свойствах станции выберите опцию Обработка начинается, когда агент заходит на станцию.
Стрелка теперь может быть нескольких видов:
- Универсальная соединяет неограниченное количество ж/д путей и позволяет поездам двигаться прямо и вдоль тупых углов, образуемых соединением любых двух путей
- Простая английская соединяет четыре ж/д пути и позволяет поездам двигаться прямо, а также вдоль тупого угла, образуемого соединением с участием переключающего пути, который вы можете назначить сами
- Английская соединяет четыре ж/д пути и позволяет поездам двигаться вдоль любого тупого угла, образуемого соединением двух путей
Теперь при добавлении в железнодорожную сеть нового поезда этот поезд может размещаться на нескольких путях одновременно. Прежнее ограничение, согласно которому поезд должен быть поместиться целиком на один путь, более недействительно.
Появилась возможность блокировать ж/д пути. Если пути, входящие в маршрут поезда, заблокированы, поезд может динамически пересчитать маршрут и объехать эти пути или остановиться перед заблокированным участком. Также можно построить кратчайший маршрут, учитывая заблокированные пути, в блоке Rail Settings. Появились новые функции API ж/д пути: block(), unblock(), isBlocked(), и т.д.
С помощью API ж/д пути вы можете проверить доступность ж/д путей и зарезервировать их для конкретных поездов. Если поезд, для которого путь не был зарезервирован, подъедет к такому пути, он остановится и подождет, пока резервирование не будет снято. Вы можете настраивать доступность путей с помощью новых функций: reserveFor(..), reservations(), cancelReservation(), isAvailableFor(..).
ResourcePool: Появилась возможность выбирать следующую задачу из списка задач для конкретного ресурса с помощью параметра Настроить выбор задачи.
Downtime: Появилась возможность задавать ресурсы для выполнения задач по поломкам, починке и т.д.
Крупное обновление переводов на испанский язык.
Демо-модель: Areas with Limited Access for Transporters Открыть страницу модели в AnyLogic Cloud. Там можно запустить модель или скачать ее по ссылке Исходные файлы модели. Демо-модель: Level Junction Открыть страницу модели в AnyLogic Cloud. Там можно запустить модель или скачать ее по ссылке Исходные файлы модели. Демо-модель: Blocking Railway Открыть страницу модели в AnyLogic Cloud. Там можно запустить модель или скачать ее по ссылке Исходные файлы модели. Демо-модель: Railway Track Reservation Открыть страницу модели в AnyLogic Cloud. Там можно запустить модель или скачать ее по ссылке Исходные файлы модели.Исполняющий модуль
- Удалена опция Упорядочивание одновременных событий в свойствах Эксперимента. По умолчанию теперь используется режим LIFO (в обратном порядке). Все альтернативные режимы, использовавшиеся ранее конвертированы в вызовы API исполняющего модуля.
- Гистограмма показывает проценты вместо дробных чисел.
- Улучшена производительность randomFrom(population).
- Улучшена производительность анимации, а также исправлен ряд ошибок, при которых анимация агентов при активном перемещении между пространствами пропадала или переставала обновляться.
- Появилась возможность задавать значение шага бегунка.
- Значение бегунка (минимальные и максимальные значения, а также диапазон) теперь проверяется в случае изменений с помощью API.
- Создан механизм предупреждений во время прогона модели с помощью функции API warning(). Это может быть полезно для разработчиков библиотек.
- Улучшена производительность анимации (длительное время обработки фреймов, большие невидимые популяции агентов).
- Анимация больше не зависает после остановки и возобновления выполнения модели в точках останова при отладке.
- Улучшение производительности анимации вследствие лучшей адаптации протокола связи между моделью и окном анимации.
- Улучшено время отклика анимации при запуске модели, требующей длительного времени выполнения.
- Улучшена производительность отрисовки железнодорожных путей в большом масштабе.
Библиотека производственных систем
- Стреловой кран и мостовой кран теперь демонстрируют предупреждения, если задано одно и то же исходное местоположение материального объекта и его место назначения.
- TransporterFleet: Появилось свойство Задержка перед повторным стартом, где вы можете указать время, необходимое транспортеру, чтобы начать движение после полной остановки.
- MoveByTransporter: Появилась возможность задавать местоположение, в которое транспортер отправится после того, как агент его освободит.
- Транспортеры с навигацией по заданному пути теперь могут использовать аттракторы в узлах, если эти узлы являются их местами назначения.
- Улучшен текст сообщения об ошибке, если транспортер не смог найти путь.
- Улучшилась диагностика ошибок в движении транспортеров.
- Улучшилось разрешение конфликтов в случае столкновения транспортеров с навигацией по заданному пути в узле-перекрестке.
- Улучшилась диагностика ошибок при расчете движения транспортеров.
- Улучшилась производительность в расчетах для транспортеров в состоянии покоя и в рабочем состоянии.
- Улучшилась диагностика ошибок для случаев, когда материальный объект не может войти на конвейер с ячейками.
- Улучшилось разрешение столкновений при смене состояний транспортеров с навигацией по заданному пути.
- Улучшилась маршрутизация транспортеров с произвольным типом навигации при движении через гейты между уровнями.
- MoveByTransporter, ReleaseTransporter: опция Возвращается на базу переименована в Возвращается на текущую базу.
- TransporterFleet: Появилась возможность задавать минимальное расстояние до препятствий для транспортеров с навигацией по заданному пути.
- Добавлены отсутствующие тултипы в Панели Свойства для блоков библиотеки.
- Мостовой кран: Появились функции API setColor() и setTrolleyColor().
- MoveByTransporter: Появилась возможность задавать поведение транспортеров, задачи которых были отменены.
Библиотека моделирования процессов
- Downtime: Появилась функция isActive(unit).
- Delay: Помимо уже существовавшей функции extendDelay() появилась функция reduceDelay(agent, dt).
- Появилась возможность выбирать задачу из списка задач для конкретного ресурса.
- Assembler: В поле действия При начале задержки появился аргумент delayTime.
Пешеходная библиотека
- PedWait: Появилась возможность задать поведение, при котором вся группа пешеходов покидает область ожидания вместе.
- Теперь пешеходы могут использовать аттракторы в области ожидания, если они находятся в очереди соответствующего блока PedService.
- PedWait: Появилась функция freeAllWaitingPeds(), с помощью которой можно освободить всех пешеходов от ожидания.
- PedWait: Функции free(ped) и freeAllWaitingPeds() также освобождают пешеходов, которые ожидают свои группы.
Железнодорожная библиотека
- Новые функции API блока Rail Settings, с помощью которых можно получить кратчайший маршрут с учетом заблокированных и зарезервированных путей: getShortestUnblockedPath(), getShortestAvailablePath().
- Точка ж/д пути: Новые действия На входе поезда и На выходе поезда.
- Появилась возможность приостановить движение поезда с помощью API функций поезда pauseTrain() и resumeTrain().
- Появилась API функция для расчета расстояния между двумя поездами: distanceToTrain().
- TrainMoveTo теперь позволяет поездам начать движение даже в том случае, если автоматический маршрут не может быть проложен из-за заблокированных или зарезервированных путей.
- Улучшилась диагностика ошибок для случаев, когда поезд находится на недоступном пути.
- Ж/д путь получил атрибут Имя, чтобы облегчить отладку модели, если ж/д сеть была создана с помощью кода.
- Улучшился процесс выхода поезда из ж/д сети: теперь это происходит, когда последний вагон покидает последний путь.
- Появилось предупреждение о том, что агент содержит стрелку с тремя путями, все углы между которыми являются тупыми.
- Теперь поезд удаляется, оказавшись в конце последнего пути, если настройки Маршрут и Цель не заданы.
Дорожная библиотека
- Появилось описание библиотеки.
Графический редактор
- Улучшения в удобстве использования.
Встроенная база данных
- Улучшения в диагностике ошибок и валидации.
- Опция Используйте COMPACT для закрытия БД переименована в Оптимизировать размер при закрытии модели.
- Улучшена производительность при ведении журнала модели: опция Оптимизировать размер при закрытии модели теперь включается автоматически, если пользователь включает ведение журнала.
Анимация
- ГИС: Темная полупрозрачная рамка вокруг ГИС-карты больше не видна, если отключены тайлы.
Эксперимент оптимизации
- Оптимизатор OptQuest обновлен до последней версии.
Панель Проекты
- Панель Проекты теперь показывает все узлы, включая те, которые были созданы автоматически.
Установка
- Сборки для Windows теперь можно устанавливать с помощью механизма патчей (ускорение установки).
- Поддержка Ubuntu 20 LTS.
Добро пожаловать
- Обновилась ссылка на группу пользователей AnyLogic в сети LinkedIn.
Примеры
- Демонстрационные модели: Появился раздел "Использование Python в AnyLogic", основанный на библиотеке Pypeline (библиотека не входит в состав продукта, она находится в открытом доступе на GitHub).
- Новые модели: Areas with Limited Access for Transporters, Level Gate, Bidirectional Conveyors, Mobile Rack System, Level Junction, Blocking Railway Tracks, Railway Track Reservation.
- Улучшения в моделях: SeizeTransporter and ReleaseTransporter, Create Transporter Network by Code, Group Behavior in Services, Material Handling in Hospital, Shopping Mall, Border Checkpoint, Hump Yard, Supply Chain, Predator Prey Agent Based, Activity Based Costing Analysis, Subway Platform, Train Unloading, FluidMerge, FluidSplit.
- Добавлена обновленная модель Adaptive Supply Chain.
- Модель SeizeTransporter and ReleaseTransporter теперь использует краны.
- Модель Solar Panel Production Line обновлена с учетом новых возможностей (краны, более гибкие режимы обработки на станции).
- Повсеместно удалены ненужные блоки PedSettings и Rail Settings.
- Удалены устаревшие модели (Conveyor with Dynamic Speed).
- Исправлена ошибка с утечкой памяти в модели FluidToAgent and AgentToFluid.
- Обновлены модели для новой версии "Большой книги моделирования".
- Добавлены описания на китайском языке к моделям Железнодорожной библиотеки.
Исполняющий модуль
- Исправлено: Функция GISRegion.getRandomPointInside() могла вызвать приостановку работы.
- Исправлено: API для создания карты плотности с помощью кода (задание атрибута type).
- Исправлено: Неожиданное сообщение об ограничении версии, начиная с 8.5.1 PLE.
- Исправлено: Потенциальное воздействие на стохастику модели со стороны агентов, не содержащих в себе стохастику.
Библиотека производственных систем
- Исправлено: Для блока ConveyorEnter исправлена возможная ошибка поведения действия При отмене входа, если использовался блок Hold.
- Исправлено: Возможные проблемы анимации (предметы на конвейере накладываются друг на друга) в режиме реального времени.
- Исправлено: Диагностика столкновений транспортеров в определенных моделях.
- Исправлено: Блок SeizeTransporter работал с ошибками, если местом назначения транспортера был узел.
- Исправлено: Локальные ошибки движения транспортеров с произвольным типом навигации.
- Исправлено: Возможное неожиданное исключение Path not Found при работе с транспортерами с навигацией по заданному пути.
- Исправлено: Ошибка при сокращении количества транспортеров, задаваемого в блоке Transporter Fleet, во время выполнения модели.
- Исправлено: Блок Transporter Fleet, управляемый расписанием, мог вызывать ошибки.
- Исправлено: API транспортеров с произвольным типом навигации: getRouteData() была равна null.
- Исправлено: Исключение NullPointerException при вызове функции ITransporter.recalculateRoute(node).
- Исправлено: Код, заданный в поле действия При выходе переднего торца мог выполняться дважды для одного и того же материального объекта.
- Исправлено: Освобожденный транспортер с поведением Остается на месте больше не захватывался агентами.
- Исправлено: Некорректное движение транспортера при использовании подъемника.
- Исправлено: Ошибка "Некорректное направление движения", возникающая при корректном движении транспортера.
- Исправлено: Поведение функции recalculateRoute() для транспортеров с произвольным типом навигации.
- Исправлено: Слишком медленное движение транспортеров с произвольным типом навигации.
- Исправлено: Возможный обгон транспортерами друг друга при разрешении столкновений на одном пути.
- Исправлено: Местоположение новых транспортеров с навигацией по заданному пути при увеличении количества транспортеров в автопарке.
- Исправлено: Транспортер игнорировал z-величину уровня после перемещения через гейт между уровнями.
- Исправлено: Функция distanceTo(...) могла возвращать неправильное значение для транспортеров с произвольным типом навигации.
- Исправлено: Редкая ошибка, которая могла возникать при перемещении транспортером агента через подъемник: сеть агента могла приобрести значение null.
Библиотека моделирования процессов
- Исправлено: ResourcePool: Код, заданный в поле При уничтожении ресурса не срабатывал, если при сокращении количества требовалось уничтожать ресурсы.
- Исправлено: ResourcePool: Ресурс уходил на повторный перерыв, если предыдущий перерыв был прерван задачей с более высоким приоритетом.
- Исправлено: Вид иконки блока Delay: количество агентов внутри блока временно превышало его вместимость.
- Исправлено: Блок Queue не освобождал агентов после вызова функции remove(0) или removeFirst().
- Исправлено: Ошибка в блоках Rack Store / Rack Pick при использовании ресурсов с определенными политиками прерывания.
- Исправлено: Блок Assembler мог оказаться заблокированным после того, как заданное в нем количество менялось с помощью кода.
Пешеходная библиотека
- Исправлено: Ошибка блока PedWait при сохранении состояния модели.
- Исправлено: Возможные ошибки в группах пешеходов, ожидающих в блоках PedWait и PedService.
- Исправлено: Ошибка при прокладывании маршрута пешехода к местам внутри агентов, создаваемых в ходе выполнения модели.
- Исправлено: PedGoTo: возможная ошибка движения, если выбрана опция Режим: следовать по заданному пути.
- Исправлено: Пешеходы двигались по самому длинному маршруту, несмотря на то, что кратчайший маршрут не был перегружен.
- Исправлено: Длительное время формирования групп.
Железнодорожная библиотека
- Исправлено: Сохранение и загрузка состояния модели.
- Исправлено: Ошибка движения, при которой длина вагона была больше длины пути.
- Исправлено: Train Source: Ошибка при задании длины вагона с помощью кода в поле Инициализация вагона.
- Исправлено: Возможная утечка памяти в блоке Rail Settings.
Библиотека моделирования потоков
- Исправлено: Ошибка при запуске модели, загруженной из сохраненного состояния модели.
- Исправлено: Возможная ошибка валидации значений приоритетов в блоке FluidMerge.
- Исправлено: Возможные исключения из-за численных ошибок, например, NoFeasibleSolutionException.
- Исправлено: Партия с объемом меньше допустимого значения не отбрасывалась.
- Исправлено: Партия с объемом = 1.0e-6 игнорировалась конвейером для сыпучих материалов.
- Исправлено: Начальная партия могла иметь значение null, что вызывало непредсказуемое поведение диаграммы процесса.
- Исправлено: Значение "не число" могло быть задано для пропускной способности, количества, скорости и других параметров.
- Исправлено: ProcessTank: Ошибка постоянных перерасчетов параметра outputBatch для каждого фрейма анимации.
Графический редактор
- Исправлено: Коллекция элементов класса NetworkPort не позволяла выбирать сетевые порты.
- Исправлено: Несколько ошибок отрисовки и редактирования ж/д сетей.
- Исправлено: Проблема отрисовки при клонировании конвейерной станции.
Встроенная база данных
- Исправлено: Ошибка копирования таблицы базы данных при экспорте БД модели после прогона.
- Исправлено: Возможная ошибка при создании нового агента из таблицы БД MS SQL.
Панель Свойства
- Исправлено: Панель Свойства переставала откликаться после выбора элемента с типом отличным от типа текущего агента.
- Исправлено: Возможная ошибка при открытии панели Свойства для некоторых блоков библиотек.
- Исправлено: Ошибка, которая могла возникать при изменении параметра, связанного с бегунком.
- Исправлено: Поведение выпадающего списка при редактировании свойств выбранного множества элементов.
- Исправлено: macOS: Ручная настройка порядка параметров в секции свойств Предв. просмотр параметров могла вызвать остановку работы AnyLogic, если один из параметров был связан с бегунком.
Приложение
- Исправлено: Экспорт из командной строки теперь включает модели из списка зависимостей.
- Исправлено: Открытие редактора Java-классов для только что созданного Java-класса при выключенной опции Перестраивать модель автоматически на странице Дополнительные в меню Настройки.
- Исправлено: При перезапуске AnyLogic или повторном открытии модели в пустых полях, где задается диапазон бегунка могли появляться значения по умолчанию.
- Исправлено: При экспорте в облако возникала ошибка, если ГИС-карта, используемая в модели, находилась в модели-зависимости.
Установка
- Исправлено: Последние обновления macOS иногда блокировали инсталлятор.
Редактор Конфигурация запуска
- Исправлено: Ошибка компиляции в том случае, если тип параметра входных данных принадлежит сторонней библиотеке.
Мы создали элемент разметки пространства Мостовой кран. Вы можете выбрать кран одного из двух типов (козловой или подвесной) с различным количеством балок (однобалочный или двухбалочный). От этих настроек будет зависеть внешний вид крана. Как и Стреловой кран, который появился в версии AnyLogic 8.4, мостовой кран контролируется блоком MoveByCrane.
Автоматическое разрешение столкновений для нестандартной маршрутизации транспортеров с навигацией по заданному пути.Транспортеры с навигацией по заданному пути стали умнее. Они научились заново рассчитывать свой маршрут, если вы динамически изменили точку направления. Также они умеют рассчитывать расстояние между собой и другими транспортерами (в том числе на перекрестках). Транспортеры умеют замедляться на поворотах или в моменты, когда они приближаются к другим транспортерам. Если два транспортера встретятся на пути или на перекрестке, то они остановятся на некоторое время, чтобы таким образом смоделировать разрешение столкновения.
Для всех типов транспортеров теперь поддерживается функция getDistanceTravelled(). С ее помощью вы можете рассчитать расстояние, пройденное транспортером.
Объекты, которые используют для передвижения транспортеры теперь могут выбрать либо ближайший транспортер, либо транспортер с кратчайшим маршрутом (с учетом таких препятствий, как стены, оборудование или конвейеры). Вы можете настроить нужный вам выбор в свойствах блока SeizeTransporter.
Простой оборудования, в т.ч. вызванный ремонтными работами или поломками, а также любые перерывы в работе ресурсов теперь можно моделировать с помощью нового блока Downtime. Вы можете настраивать время начала таких перерывов (простоев), их длительность и политику их повторного возникновения.
Демо-модель: Palletizing Conveyor Открыть страницу модели в AnyLogic Cloud. Там можно запустить модель или скачать ее по ссылке Исходные файлы модели.Библиотека производственных систем
- Добавлено автоматическое разрешение столкновений для нестандартной маршрутизации транспортеров с навигацией по заданному пути.
- Транспортер с навигацией по заданному пути: появилась функция distanceTo(), которая возвращает расстояние по пути до заданной точки.
- Интуитивно понятное сообщение об ошибке в том случае, если транспортер пытается начать движение к агенту, не имея заданного местоположения.
- Транспортер с навигацией по заданному пути: появилась возможность задавать скорость на поворотах.
- Появилась возможность пересчитать маршрут для транспортеров с навигацией по заданному пути с помощью вызова функции recalculateRoute().
- Теперь функция timeInState() принимает в качестве аргумента состояния транспортеров (DELIVERING, GOING_TO_AGENT, и т.д.)
- У кранов появилась функция isLoaded().
- Улучшилось расположение транспортеров с произвольной навигацией во время загрузки и разгрузки агентов (с помощью cargoPosition, если он задан в транспортере).
- MoveByCrane: Добавлено свойство После освобождения с возможностью вернуться в исходную позицию.
- Материальные объекты теперь удаляются со своих мест после обработки на станции, если станция была указана в качестве места назначения в блоке Convey.
- Для транспортеров с произвольной навигацией добавлена политика выбора кратчайший маршрут.
- Добавлено ограничение на количество транспортеров с навигацией по заданному пути, находящихся одновременно в одном сетевом узле.
- Свойства, задающие скорость крана, стали динамическими. Теперь скорость может меняться для каждого материального объекта, перемещаемого краном.
- Стреловой кран: Добавлено местоположение каретки.
- TransporterControl: Добавлена функция API, которая позволяет отключить область "зрения" транспортера в конкретных сетевых узлах: disableCollisionAvoidanceInNodes().
- API транспортера: Добавлена функция getDistanceTravelled().
- Реализована функция removeAgent() для элемента разметки пространства Position On Conveyor.
Библиотека моделирования процессов
- Resource Pool: Добавлена опция для учета только того времени, в течение которого ресурс был занят, при настройке времени до поломки.
Железнодорожная библиотека
- Train Source: Добавлена опция Время первого прибытия.
- TrainSource: Появился параметр Начальная скорость.
- Railway Switch: Появилась API функция для счетчика переключений стрелки: getToggleCount().
- Railway Track: Появилась API функция getTrains().
- Улучшился алгоритм маршрутизации.
Пешеходная библиотека
- Карта плотности: Улучшилась обработка полупрозрачных цветов при использовании нестандартной цветовой схемы.
- Движение пешеходов: Улучшился автоматический выбор пути в случаях, когда есть два абсолютно равнозначных пути.
Библиотека моделирования потоков
- Улучшилась диагностика ошибок.
- Появилась новая анимация резервуара для тех случаев, когда у резервуара неограниченная вместимость.
Исполняющий модуль
- Ряд небольших улучшений в области анимации.
Панель Свойства
- Свойство Статическая переменной и функции теперь скрыто по умолчанию. Чтобы сделать его видимым, выберите Режим разработчика библиотек в Настройках.
Установка
- AnyLogic PLE теперь можно обновлять, не заполняя форму запроса на сайте.
Примеры
- Новые модели: Palletizing Conveyor, Custom Station, Maintenance of a Coffee Machine, Split One Stream into Multiple Streams, Classification Yard.
- Улучшенные модели: Two Level Facility with Lift, Two Stocks Problem, Autoclaved Aerated Concrete Factory.
Эксперимент оптимизации
- Fixed an error which could occur when using optimization with replications having suggested values set for experiment parameters.
Библиотека производственных систем
- Исправлено: getNetworkNode() мог возвращать значение null для транспортера в узле.
- Исправлена возможная ошибка при выполнении модели в LiftController.
- Исправлена возможная ошибка при выполнении дискретного события: Некорректный временной промежуток.
- Исправлено: Транспортер не мог войти в сетевой узел со специфической конфигурацией соединенных с узлом путей.
- Исправлена ошибка ConcurrentModificationException, которая могла возникать в некоторых моделях с использованием ConveyorMergeController.
- Исправлена редкая ошибка: мостовой кран не мог переместить более одного материального объекта к аттрактору или узлу на безопасной высоте, заданной по умолчанию.
- Рабочий участок: Исправлена опция размещения агента "возле конвейера".
- Исправлено: Иногда материальные объекты не могли перейти на конвейер с ячейками с ленточного конвейера.
- Исправлена возможная внутренняя ошибка: "Некорректное расстояние между объектами TransporterPathItem".
- Исправлено: MHLSettings.executeTasks() функция вызывала ошибку.
- Исправлено: Ограничение скорости на поворотах могло срабатывать по-разному в зависимости от того, как нарисована сеть.
- Исправлено: Исключение StackOverflow, вызванное функциями ConveyorPathController_xjal.setMotion() и .updateItem().
- Исправлена проблема анимации, возникающая, когда транспортер начинает движение из базового местоположения (точечного узла).
- Свойства кранов: Исправлен "Тип материального объекта" в динамических свойствах.
- Исправлено: Транспортер мог рассчитывать маршрут до точки назначения со сдвигом на пути в соответствии со своим передним краем.
- Исправлена инициализация ConveyorStation, TransferTable, созданных вручную с помощью кода Java.
- Исправлена ошибка "Агент не смог покинуть порт" при отмене прохождения объекта по блоку Convey, соединенному с блоком MoveByCrane.
- Исправлено: getRouteData() вызывает ошибку при вызове из поля "При входе на путь".
- Исправлено: Транспортеры могли застревать в стенах.
- Исправлены возможные проблемы анимации вращения транспортеров.
Дорожная библиотека
- Исправлена ошибка, возникающая при инициализации дорожной сети, когда парковка расположена под другой дорогой.
- Исправлена ошибка сохранения состояния модели, которая могла возникать в моделях с использованием Дорожной библиотеки.
Железнодорожная библиотека
- Исправлено возможное исключение при параллельном запуске многопрогонных экспериментов (дублирующаяся регистрация).
- TrainSource: Исправлен режим Поезда прибывают согласно: расписанию прибытий из БД.
- Исправлена ошибка в 3D-анимации поездов на уровнях, где z < 0.
- Исправлена возможная ошибка при сохранении состояния модели.
Пешеходная библиотека
- Исправлено: Для групп не рассчитывалось заново количество пешеходов на выходе.
- Исправлено: Пешеходы могли проходить по очередям-"змейкам" после обслуживания.
- Исправлена ошибка в режиме PedSource Добавлять пешеходов в другую популяцию: в популяцию добавлялись только лидеры групп, а не все члены группы.
Библиотека моделирования потоков
- Исправлено: функция MixTank.updateAmounts() работала некорректно, есл одно из количеств было равно 0.
- Исправлена функция Valve.dispense(), которая могла приводить к тому, что не выполнялись действия типа Tank: При заполнении.
- Исправлена ошибка "Этот блок должен быть мастером", которая возникала в некоторых моделях.
Исполняющий модуль
- Исправлено: функция getDistanceByRoute() могла вызывать ошибку при выполнении, если использовался поставщик маршрутов на базе локального маршрутного графа.
- Исправлена проверка на чрезмерное количество итераций в эксперименте варьирования параметров.
- Исправлена отрисовка процентилей и CDF в гистограмме.
Графический редактор
- Исправлен механизм перетаскивания файлов изображений в AnyLogic.
- Исправлен множественный выбор блоков в диаграмме процессов с помощью щелчка мыши и зажатой кнопки Ctrl или Shift.
- Исправлена ошибка при отрисовке труб и резервуаров с прозрачными цветами.
Приложение
- Исправлено: Версия macOS могла отображать диалог Открыть файл с неправильной локализацией.
- Исправлена ошибка компиляции при использовании прозрачных цветов для анимации крана.
- Исправлено: графики не показывались в результатах поиска.
Генерация кода
- Исправлена ошибка инициализации ГИС-сети.
В AnyLogic появились уровни, на которых можно размещать элементы разметки пространства, фигуры презентации, графики, элементы управления и т.д. Таким образом упростилось моделирование многоуровневых объектов - зданий, конвейеров или даже круизных лайнеров – в рамках одного агента.
Процесс напоминает работу со слоями в графических редакторах. Каждый уровень можно моделировать отдельно, сохранив при этом многоуровневый вид. Видимость уровней можно изменять: это позволит в ходе работы с одним уровнем скрыть или отобразить содержимое других уровней.
Для передвижения материальных объектов между уровнями используются специальные элементы разметки пространства:
- Сетевой порт – для транспортеров, которые двигаются по разметке.
- Новый элемент – Гейт между уровнями – для транспортеров с произвольным режимом навигации.
- Подъемник – для любых транспортеров, а также материальных объектов на конвейере.
Карта плотности для транспортеров: Мы добавили карту плотности для транспортеров с произвольным режимом навигации.
Нестандартная маршрутизация: Теперь, задавая собственный маршрут для перемещения транспортеров, можно включать в него конкретные пути.
Движение пешеходов в пространстве: У стеллажей, конвейеров и кранов появилось свойство Является препятствием. При выборе этой опции объект становится препятствием для пешеходов, поэтому они вынуждены его обходить.
Новые примеры моделей
Демо-модель: Material Handling in Hospital Открыть страницу модели в AnyLogic Cloud. Там можно запустить модель или скачать ее по ссылке Исходные файлы модели. Демо-модель: Agent per Fluid Batch Открыть страницу модели в AnyLogic Cloud. Там можно запустить модель или скачать ее по ссылке Исходные файлы модели.Эксперимент оптимизации
- Оптимизатор OptQuest был обновлен. Теперь с помощью функции getOptimization() можно получить объект оптимизации OptQuest.
Библиотека производственных систем
- Добавлен параметр 'Z' в ConveyorNetwork.
- Улучшена производительность и стабильность движения конвейеров и транспортеров.
- Добавлены функции для Transporter Control: recalculateAccessNode(Node) и recalculateAccessPath(Path), проверяющие доступность элементов сети. По результатам проверки элемент может быть доступен или заблокирован.
- Улучшены описания ошибок о недопустимых значениях параметров.
- Добавлен счетчик устраненных столкновений - TransporterControl.getCollisions(). Счетчик работает, если выбрана опция Устранять коллизии.
- Transporter Fleet: добавлена возможность задавать количество транспортеров расписанием.
- Улучшена анимация: плавное перемещение объекта на изгибах конвейера.
- Транспортеры с произвольным режимом навигации: Добавлен параметр, задающий максимальную скорость движения вблизи препятствия.
- Добавлена возможность выбирать нестандартный ресурс для станции обработки.
- Улучшена диагностика ошибок внутри Move By Transporter при удалении перемещаемого агента.
- Ветвление конвейера: теперь правильно задается зазор между материальными объектами на конвейере после того, как они переданы конвейеру с самым высоким приоритетом.
Библиотека моделирования процессов
- Блоки Pickup и Dropoff теперь можно использовать в диаграммах подготовки ресурса и завершения задачи.
- В блоке Source для режима прибытия согласно Времени между прибытиями появился параметр Первое прибытие происходит.
- В блоках Service, Assembler, Rack Pick, Rack Store добавлена возможность выбора ближайшего / наиболее предпочтительного ресурса для заданного агента.
- В блоках Seize и Service добавлена возможность выбирать для агента ближайшего ресурса по пути (ГИС).
- Поддержка многоуровневости: в блоках задающих местоположение (типа Source) добавлен новый параметр Уровень.
Исполняющий модуль
- Добавлена возможность отключать уведомления во время выполнения модели.
- Улучшена производительность функции distanceByRoute() для ГИС моделей.
- 3D Объект: Новые опции позволяют задать режим использования встроенных в 3D объект источников света.
- Улучшена производительность при скрытом окне браузера (окно может быть уменьшено, заблокировано, и т.д.).
- Изменено API для инициализации элементов разметки пространства. В моделях, созданных программно, необходимо обновить код. Элементы разметки пространства теперь должны находиться на уровне, который и отвечает за инициализацию объектов.
- Добавлена функция, позволяющая вычислить atan2 в ~20 раз быстрее: atan2fast(y, x). Погрешность в среднем составляет 3e-5 радиан.
- Добавлена функция, позволяющая получить доступ к нестандартному эксперименту (если есть) из агента: getEngine().getExperimentCustom().
- Для всех типов диаграмм были добавлены функции setColor(i) и getColor(i), позволяющие динамически изменять цвет элементов данных.
- Добавлена функция reset(), которая сбрасывает статистику карты плотности.
Встроенная база данных
- Порты для работы со встроенной базой данных теперь выбираются динамически из набора свободных портов.
- Улучшен конвертер из API старой QueryDSL.
Графический редактор
- Автобусную остановку теперь можно размещать на любой стороне дороги с односторонним движением.
- Улучшена привязка подъемника к сетке диаграммы при перетаскивании и изменении его размера.
Панель свойства
- Путь: Ограничение скорости и количества транспортеров теперь можно задать значением параметра в поле кода справа от соответствующего свойства.
Приложение
- Максимальный размер емкости памяти Java (-Xmx) для AnyLogic IDE увеличен до to 4 Гб.
- Экспорт в Cloud: При загрузке новой версии модели в Cloud проверяется наличие этой модели в Cloud по ее имени.
- Экспорт в Cloud: Теперь в ознакомительной и PLE версиях AnyLogic по умолчанию предлагается категория Test models.
- Исправлена ошибка разрешения .jar зависимостей за пределами папки модели.
- Реализован динамический выбор порта для входящий сообщений из запущенных моделей и интерфейса командной строки.
- Теперь AnyLogic использует 4 Гб оперативной памяти.
Примеры
- Новые модели: Material Handling in Hospital, Agent per Fluid Batch, Conveyor Singulator.
- Улучшены модели: Crude Oil Pipeline Network, Gas Station, Oil Supply Chain, Product Delivery, Reading and Writing Excel Files, SIR in GIS Based Space.
Библиотека производственных систем
- Исправлены ошибка движения транспортера, которая могла возникать, если в узлах задавалось ограничение скорости.
- TransporterControl.findPath выдавало RuntimeException если в качестве аргумента использовалось LocationXYZ.
- Ветвление конвейера: Исправлено и улучшено движение материального объекта, объединение, приоритеты и логика блокирования.
- Исправлена ошибка: В некоторых случаях транспортер мог двигаться в неправильном направлении.
- Исправлена ошибка: Мог выполняться код в поле При входе переднего торца для агента, который не мог поступить в станцию обработки.
- Исправлена ошибка: Станция обработки не начинала обработку, несмотря на достаточное количество материальных объектов.
- Move By Transporter: Исправлена ошибка, которая могла возникать при задании последнего пункта назначения для агента, если не выбран параметр Освобождать транспортер.
- Исправлена возможная ошибка при произвольном движении транспортеров по узким коридорам.
- Исправлена возможная ошибка: Произвольно движущиеся транспортеры могли игнорировать стеллажи и конвейеры, помеченные как препятствие.
- Исправлена возможная ошибка ("Incorrect event time") в логике пути транспортера.
- Исправлен выбор пути транспортера при выборе агента, который находится в многоугольном узле.
- Исправлена ошибка при сохранении состояния модели для произвольно движущихся транспортеров.
Библиотека моделирования процессов
- Исправлена ошибка: При вызове Seize.recalculateResourceChoiceConditions() возможно дублирование алгоритма, заданного в поле действия При захвате.
- Assembler: Исправлена ошибка: Задание местоположения собранных агентов в поле действия При подходе к выходу. Добавлен параметр Вместимость буфера на выходе.
Пешеходная библиотека
- Исправлена ошибка: Если пункт назначения часто менялся, пешеходы, собранные в группы, могли застревать в зацикленной диаграмме процесса.
Исполняющий модуль
- Исправлена ошибка: Оптимизационный эксперимент не возобновлялся после паузы.
- Диаграмма состояний: Возвращалось текущее состояние внутри действия конечного состояния.
- Интерфейс запуска модели: Исправлено накопление кадров, вызванное уменьшением или блокировкой окна анимации.
- Исправлено движение агентов, попадающих в сеть: некоторые агенты могли двигаться вдоль прямого пути.
- Исправлен элемент Выпадающий список: Если значение по умолчанию не задано, задается первое значение из списка.
- Исправлено: Расписание, инициализированное из встроенной базы данных, могло вызывать ошибку некорректного интервала.
- Исправлено: У некоторых 3D объектов были бледные цвета (к примеру, у вагонов из палитры).
- Исправлено описание функции exportToExternalDB() в getEngine().getModelDatabase().
Встроенная база данных
- Исправлена ошибка компиляции при использовании опции Удовл. ли столбцы условиям в конструкторе запросов.
Графический редактор
- Исправлена ошибка, возникающая при попытке перетащить дочерний элемент пути (ветвление конвейера, станция обработки, дорожная стоп-линия, и т.д.) из палитры на путь (конвейер, дорогу, и т.д.) с несколькими выделенными элементами в графическом редакторе.
- Исправлена ошибка: Изменение масштаба не изменяло масштаб конвейеров.
Панель свойства
- Исправлена ошибка, возникающая у переключателя, привязанного к переменной: если ввести имя нового элемента, выводилась ошибка "Invalid number".
- Исправлены визуальные ошибки диалогового окна, позволяющего задать цвет, которые возникали после сохранения модели.
- Секция Предв. просмотр параметров: Устранено подвисание при изменении порядка в macOS.
- Исправлена ошибка в отображении свойств коллекции, связанной с таблицей БД.
- Исправлены свойства встроенной БД: Тот же файл добавлялся в список источника вводных данных после нескольких операций импорта (разных таблиц).
- Исправлена ошибка: В некоторых случаях элемент Текстовый файл неверно отображал имя файла.
Приложение
- Исправлена ошибка: Создание нестандартного блока, содержащего блок Batch.
- Исправлено размещение коннекторов при создании блока из выделенных блоков.
- Исправлена ошибка, возникающая при экспорте модели с кэшем построенных маршрутов.
Примеры
- Исправлены возможные ошибки в следующих моделях: Flexible Manufacturing Supply Chain, Palletizing system with AGV.
Движение транспортеров: Теперь транспортеры могут двигаться свободно, без привязки к разметке пространства, и учитывают препятствия на пути, в том числе стены, конвейеры и другие транспортеры. Произвольный тип навигации можно выбрать в блоке TransporterFleet.
Если транспортер двигается по заданному пути, его перемещение можно настроить в блоке TransporterControl.
Динамический перерасчет маршрута теперь доступен по вызову функции recalculateRoute(). С ее помощью можно изменить маршрут материального объекта или мобильного робота (AGV).
Многоуровневые сети конвейеров и мобильные роботы (AGV): В AnyLogic появилась возможность создавать многоуровневые сети конвейеров и транспортеров с помощью новых элементов. Элемент разметки пространства Сетевой порт позволяет логически соединять две конвейерных сети или две секции конвейера в единую конвейерную сеть. А чтобы соединить фрагменты сети, находящиеся на разных уровнях, используется новый элемент разметки пространства Подъемник. Навигацию между портами и подъемниками можно настроить или оставить автоматической. Вместе эти объекты упрощают моделирование сложных многоуровневых конвейерных систем.
В AnyLogic появился новый элемент разметки пространства Кран. Он может перемещать объекты с помощью блока MoveByCrane, в том числе между несвязанными конвейерными сетями.
Соединение конвейеров: Раньше для соединения конвейеров под углом нужно было использовать элементы Поворотный стол или Трансфер. Теперь при таком соединении вместо этих объектов автоматически создаётся элемент Ветвление конвейера.
Улучшенная работа анимации: Мы улучшили работу 3D и 2D-анимации: увеличили кадровую частоту (FPS) и скорость отклика.
Автоматическое форматирование кода: Теперь автоматическое форматирование кода можно применить к одному или нескольким элементам, или же ко всей модели.
Экспорт моделей: AnyLogic теперь поддерживает экспорт моделей в виде отдельных Java-приложений не только из графического интерфейса, но и из командной строки. Если вы экспортируете модель как Java-приложение, вместе с ней можно скачать версии встроенного браузера для разных ОС. Это удобно, если вы не знаете, на компьютере с какой ОС вы будете запускать модель-приложение.
Отслеживание событий: В панели разработчика появилась панель События. Когда модель запущена, на вкладке можно следить за очередью событий. С этой вкладки можно перейти к самому событию или агенту, который к нему относится.
Кроме файла модели и её базы данных, с ней могут быть связаны дополнительные ресурсы, например, изображения, файлы ГИС и CAD, текстовые и табличные документы. В новой версии программы ими можно управлять из группы Ресурсы в дереве модели. AnyLogic знает, какие файлы из группы используются при запуске модели, и в случае экспорта выгружает вместе с моделью только их.
Теперь в блоке RackSystem можно выбрать опцию подсветки для отображения объектов на стеллажах склада. Её интенсивность соответствует количеству объектов в ячейках. Такой способ индикации более информативен в случае многоуровневых стеллажей и помогает большим моделям складов работать быстрее.
У блока Pickup появился режим работы Точное количество. В этом режиме блок не пустит объект-контейнер дальше по диаграмме процесса, пока в нём не окажется заданное количество объектов. Эта функция может использоваться, например, при формировании партий продуктов на производстве.
Мы выпустили AnyLogic Private Cloud Lite – бюджетную и легко устанавливаемую версию AnyLogic Cloud. Она устанавливается на один компьютер в локальной сети и предоставляет пользователям локальной сети доступ к загруженным в частное облако моделям. Описание отличий версий AnyLogic Cloud см. здесь.
Теперь в AnyLogic Cloud можно использовать Excel-файлы из модели для задания её входных параметров.
Демо-модель: Fulfillment Center Conveyor System Открыть страницу модели в AnyLogic Cloud. Там можно запустить модель или скачать ее по ссылке Исходные файлы модели. Демо-модель: Rack System with AGV Открыть страницу модели в AnyLogic Cloud. Там можно запустить модель или скачать ее по ссылке Исходные файлы модели. Демо-модель: Two Level Facility with Lift Открыть страницу модели в AnyLogic Cloud. Там можно запустить модель или скачать ее по ссылке Исходные файлы модели. Демо-модель: Order Picking Line Открыть страницу модели в AnyLogic Cloud. Там можно запустить модель или скачать ее по ссылке Исходные файлы модели. Демо-модель: Buffer with Lift Открыть страницу модели в AnyLogic Cloud. Там можно запустить модель или скачать ее по ссылке Исходные файлы модели.- Добавлены индикаторы доступа к сети и процесса выполнения индивидуальных прогонов в экспериментах со множественными прогонами.
- Объект масштабирования (линейка) виден в ходе выполнения модели.
- Быстрая смена индекса реплицированного агента видна при нажатии клавиш Вверх и Вниз, если фокус при этом находится в поле индекса (в Панели разработчика). Таким образом можно ускорить итерацию по популяции агентов.
- В элементы управления Запустить до... и Приостановить в... добавлена опция времени суток.
- С помощью сочетания Ctrl колесо мыши в 3D окне можно изменить масштаб двумерной презентации.
- Улучшено визуальное отображение области графиков: теперь сплошная рамка присутствует только вдоль осей.
- Улучшена диагностика ошибок для ряда случаев.
- Возможность подключить и отключить кнопки Запустить/Пауза, а также группу кнопок для управления скоростью выполнения модели в ходе выполнения модели с помощью вызова функций setRunControlEnabled() и setSpeedControlEnabled(), принадлежащих ExperimentHost.
- Добавлена функция onError(error, root) в API эксперимента - может быть переопределена, как и функция onError(error), но обеспечивает доступ к исходному агенту верхнего уровня модели (полезна для работы с экспериментами с множественными прогонами).
- Для всех элементов разметки пространства добавлена функция remove(), которая позволяет с легкостью удалить элемент из презентации. Это не значит, что элемент удаляется из логики модели, так как логические сети и маршруты могли быть созданы до вызова этой функции и не исчезают.
- Добавлен объект ShapeArrowLine - линия с опциональными стрелками-указателями. Если вам нужна стрелка-указатель, используйте этот объект. API объекта ShapeLine, задающий стрелки, признан устаревшим и будет удален в следующих версиях.
- Добавлена функция indexOf(array, textExpression), с помощью которой можно найти первый подходящий элемент, например, indexOf( people, p -> p.getName().equals("John") ).
- Функции TextFile.traceln() и TextFile.println() теперь поддерживают распечатку информации о двумерных массивах.
- Добавлен режим повышенной производительности для моделей с уравнениями системной динамики и большим количеством дискретных событий. См. новую функцию getEngine().setEventAwareSolver().
- В общедоступный API добавлен класс Pair.
- Добавлен временный API для смены цвета линий и заливки отдельных фигур в файле фигуры во время выполнения модели - см. функции ShapeGISMap.Layer setFillColor() и setLineColor(). ВНИМАНИЕ: этот API нестабилен и, возможно, будет изменен в будущем.
- Изменился API SQL Java (на базе QueryDSL): функция exists() сменилась функцией hasResults(). Например: selectFrom(orders).hasResults().
- Изменилась генерация кода. Все нестандартные пользовательские библиотеки должны быть построены заново, чтобы работать с новой версией AnyLogic.
- Манипуляторы для изменения размера фигуры презентации оптимизированы для работы с маленькими фигурами.
- Увеличился диапазон масштабирования с помощью сочетания Ctlr колесо мыши: 5% - 4000%.
- Масштаб 3D объекта можно изменить с помощью манипулятора.
- Нестандартные границы поиска теперь отображаются на ГИС карте.
- Теперь AnyLogic автоматически задает Z-уровень для новых элементов разметки, как только они присоединяются к существующему конвейеру с заданным Z-уровнем.
- В контекстное меню в графическом редакторе добавилась команда для конвертации элемента Диаграмма действий в функцию.
- Скачивание и установка по щелчку пакета браузеров для всех операционных систем: полезно при экспорте модели как независимого приложения для запуска на различных операционных системах.
- В меню Настройки появилась возможность выбрать браузер для запуска модели из AnyLogic.
- Появилась возможность переключиться в основное рабочее пространство AnyLogic, не закрывая окно Обратиться за помощью. Теперь диалоговое окно для обращения в поддержку перестало быть модальным и его можно уменьшить.
- Элемент разметки Путь теперь всегда входит в состав сети. AnyLogic автоматически создает сети для всех отдельных (не соединенных с другими) элементов разметки Путь. Старые модели будут конвертированы при открытии.
- Процесс выполнения операции экспорта модели как отдельного приложения при копировании крупных файлов теперь отображается более точно.
- Появилась опция закрытия базы данных c использованием COMPACT.
- В меню Настройки появилась возможность настроить максимальный объем памяти для работы базы данных AnyLogic.
- Некоторые сторонние библиотеки (например, библиотеки базы данных) обновились до последних версий database. В моделях, которые напрямую используют QueryDSL API могут наблюдаться ошибки компиляции. Понадобится анализ кода и небольшие корректировки.
- Все типы сетей, которые содержат по одному элементу, автоматически будут отображаться раскрытыми в панели Проекты.
- Новый мастер настройки эксперимента: нестандартный эксперимент теперь может использовать настройки модельного времени из других экспериментов.
- На начальной странице появились ссылки на API документацию AnyLogic Cloud.
- При выборе типа для параметров и переменных появилась новая опция: класс Color.
- Появилась возможность видеть ресурсы (MS Excel / MS Access / внешний сервер), которые используются для автоматического импорта / экспорта данных.
- Появилась возможность одновременно изменять настройки множества выбранных блоков библиотеки одного типа.
Библиотека моделирования процессов
- У блока Pickup появилась опция Точное количество (если нет - ждать): агент-контейнер будет ждать, пока не наберется нужное количество агентов, поступающих через входящий порт 'inPickup' (например, при моделировании промышленных систем это могут быть объекты для упаковки, поступающие из блока Convey).
- RackSystem теперь по умолчанию использует следующий режим для отображения хранящихся в нем агентов: Не отображать, использовать подсветку (быстрый способ). Это значительно улучшает производительность анимации при моделировании больших складов. Проверьте анимацию вашей модели. При желании вы можете вернуться к режиму В позиции по умолчанию.
- Функция Delay.getDelayTime() теперь возвращает значение, изначально выбранное для агента, оно не увеличивается, когда блок или агент в состоянии приостановки.
- Seize / Service/...: Появилось предупреждение, если агент проходит блок без задержки в случае, когда не заданы наборы ресурсов.
- В блоках типа Source появилась функция без аргументов inject(), эквивалент вызова функции inject(1).
Библиотека производственных систем
- У элементов разметки пространства появилось свойство Является препятствием. Используется для моделирования движения транспортеров с произвольным типом навигации.
- У блока MoveByTransporter и других подобных блоков появилось действие При подходе к выходу.
- Station: Параметр Задержка переименован во Время обработки.
- PositionOnConveyor: Для конвейеров с ячейками добавлены действия При входе в лоток и При выходе из лотка.
Библиотека моделирования потоков
- В анимации ProcessTank и MixTank появилась градиентная смена цвета на этапе обработки. На анимации MixTank теперь отображаются компоненты.
- API: функции MixTank, имеющие отношение к партиям, а также функции ProcessTank, имеющие отношение к цвету партии, теперь возвращают другие значения.
- FluidToAgent: функция flush() вынуждает блок создать нового агента из текущего количества материала в блоке вне зависимости от настроек блока.
- MixTank: функция updateAmounts() обновляет количество компонентов, если смесь задается с помощью количества компонентов. Если смесь задается с помощью общего количества и процентных соотношений каждого компонента, функция обновляет общее количество смеси. На момент вызова функции резервуар должен быть пустым.
- ProcessTank: функция updateCapacity() вынуждает блок заново рассчитать динамический параметр вместимости.
- FluidSelectInput: функция toggle() теперь возвращает 1, если вход 1 выбран, или 2, если выбран вход 2.
- Обработка численных ошибок происходит путем приведения рассчитанных значений к приемлемым с помощью сравнения со внутренней постоянной Utils.TOLERANCE.
- Добавлен API, чтобы получить транспортер, который в данный момент перемещает агента: getTransporter().
Устаревшее
- Прекращена поддержка 32-разрядной версии AnyLogic для операционных систем Windows.
- Отрисовка значка для изначально пустой популяции в некоторых случаях.
- Отрисовка Графика с наборами данных, которые добавляются динамически: раньше область под линией заливалась сплошным цветом.
- Свойство 3D Окна: Тип навигации.
- Наклонная область в 3D-анимации отображалась как горизонтальная.
- Агенты исключенного типа агента с нестандартным значком вызывали ошибку во время отрисовки кадров анимации.
- В некоторых случаях некорректно выполнялось вращение презентации агента.
- Отрисовка элемента Дуга с углом >= 2*PI во время выполнения модели.
- Обработка шейп-файлов ГИС во время выполнения модели: фигуры с исключенными внутренними областями и фигуры с множественными областями теперь отображаются корректно.
- Выпадающий комбинированный список во время выполнения модели теперь остается в пределам видимой области (разворачивается вверх или вниз).
- Анимация агентов в ГИС-пространстве теперь полностью подчиняется правилам масштабирования (скрыть, показать постоянный размер или использовать настоящий масштаб).
- Двумерные проекции фигур, вращающихся вокруг оси X или оси Y теперь соответствуют углу вращения.
- Стрелки-указатели на связях между агентами теперь отображаются в соответствии с настройками.
- Рисование 3D объектов внутри реплицированной группы.
- Возможные проблемы с контрастом цвета у фигур 3D-анимации.
- Добавилась рандомизация местоположения для динамически создаваемых агентов в непрерывном пространстве, если выбрана опция Случайное расположение.
- Ошибка, возникающая при создании сети, в которой есть стеллажи с путями и узлами, расположенными в проходах стеллажей.
- Запись журналов в базу данных для агентов с множественными диаграммами состояний.
- Вызов функции presentation.remove(markup/Element) удаляет элемент разметки пространства из презентации. См. также функцию remove() для элементов разметки пространства.
- Проблема отображения элементов разметки ГИС-пространства, динамически добавляемых на карту с использованием API для поиска по ГИС.
- Вызов функции Agent.jumpTo(node) с узлом из другого пространства теперь автоматически перемещает агента в это пространство.
- Загрузка из файла состояния модели с агентами, которые генерируются в блоке Source по расписанию прибытия из таблицы в базе данных.
- Исправлены функции TextFile.print() и TextFile.println(). При передаче массива данных в качестве аргумента, функции теперь выводят на печать содержимое массива.
- 3D объект: функция setColor(materialName, color) не работала, если не были заданы нестандартные цвета.
- Исправлены проблемы с отрисовкой элементов Парковка, Автобусная остановка и Конвейер на экранах HiDPI.
- Проблемы с размещением поворотного стола на узком конвейере.
- Проблемы с окрашиванием некоторых элементов при смене цвета в панели Свойства.
- Ошибка, возникавшая при добавлении еще одного типа агента в параметр Тип агента.
- Временная папка с исходными файлами модели не удалялась после экспорта модели в AnyLogic Cloud.
- Если в файле MS Excel есть формулы, при импорте вместо результатов в таблице остаются пустые ячейки.
- Команда Создать документацию возвращает отчет с пустыми значениями в заголовках столбцов и вместо нумерации страниц.
- Под-измерения не копируются вместе с основным измерением.
- Ошибка при добавлении 3D объекта с пробелами в имени файла.
- Настройки прокси AnyLogic не передавались выполняемой модели.
- Ошибка при переключении языка на бразильский португальский.
- Действия "скопировать-вставить" для таблиц с координатами (например, точками пути).
- Ошибка при установлении связи бегунка с параметром блока диаграммы процесса.
- Расписание: неправильное преобразование из дней в недели в опции Неделя.
- Ошибка в секции свойств Местоположение и размер при выборе нескольких геометрических элементов (Прямоугольник, Овал) с разными вращениями.
- Максимальный объем памяти для Эксперимента / Конфигурации запуска иногда не сохранялся.
- Некоторые свойства элементов разметки пространства Библиотеки производственных систем не поддерживали редактирование нескольких выбранных элементов одновременно.
Библиотека моделирования процессов
- Скорость нестандартного агента, которая задавалась в секции свойств Тип агента, не могла применяться к агентам, создаваемым в блоках диаграммы процесса.
Библиотека производственных систем
- Появилась возможность использовать переменную self в кодовых полях элементов разметки пространства Библиотеки производственных систем.
- Создание нового типа агента в свойствах блока TransporterFleet: к списку доступных опций в параметре Использовать в диаграмме процесса как: добавился Transporter.
- Библиотека моделирования процессов требует создавать модель только из блоков Библиотеки производственных систем.
- Конвейер, который остановился из-за заблокированной позиции на другом конвейере, не начинает работу после разблокировки.
- Материальные объекты покидают текущий конвейер на скорости следующего конвейера.
Библиотека моделирования потоков
- ProcessTank: Ошибка, которая возникала, когда партии добавляются одновременно с изменением скорости на выходе.
- FluidMerge мог создавать партию с нулевой длиной на выходе.
AnyLogic Cloud (https://cloud.anylogic.com/) предоставляет новый способ доступа к моделям и их совместному использованию в сети.
Сценарий экспорта моделей крайне прост: единственное, что нужно сделать - это задать входные и выходные данные модели в AnyLogic в редакторе Конфигурации запуска. После этого модель готова к загрузке в облачное хранилище.
Для запуска модели, загруженной в AnyLogic Cloud, требуется только наличие браузера. Вы сможете запускать модель, просматривать интерактивную анимацию с любого устройства - планшета, телефона, ноутбука. Сложные эксперименты, состоящие из нескольких итераций, будут выполняться параллельно, что позволит выполнять эксперименты в несколько десятков раз быстрее.
Работайте с публичными моделями, предоставленными сообществом AnyLogic, или создайте портфолио с собственными моделями, загрузив их из AnyLogic.
Вы можете предоставить доступ к загруженным вами моделям всем желающим или избранным пользователям.
Демо-модель: Border Checkpoint Открыть страницу модели в AnyLogic Cloud. Там можно запустить модель или скачать ее по ссылке Исходные файлы модели. Демо-модель: Crude Oil Distillation Unit Открыть страницу модели в AnyLogic Cloud. Там можно запустить модель или скачать ее по ссылке Исходные файлы модели. Демо-модель: Consumer Credit Открыть страницу модели в AnyLogic Cloud. Там можно запустить модель или скачать ее по ссылке Исходные файлы модели. Демо-модель: Airlines Fleet Открыть страницу модели в AnyLogic Cloud. Там можно запустить модель или скачать ее по ссылке Исходные файлы модели.- Новый элемент "Выходное значение", отслеживающий числовое значение скалярного типа данных для передачи его в модель, загружаемую в AnyLogic Cloud..
- Улучшена поддержка экранов высокого разрешения (HiDPI, Retina и т.д.).
- Размер рамки видимой области модели теперь не задается в свойствах эксперимента. Вы можете изменить размер рамки, перетаскивая мышью ее границы на графической диаграмме.
- Элемент "Выпадающий список" теперь доступен во всех редакциях AnyLogic.
- ГИС карта теперь использует исключительно проекцию Меркатора.
- Удалены старые библиотеки (остававшиеся c версии 6).
- Улучшены подсказки автоматической подстановки кода (показывает подходящие имена элементов, найденные в том числе и по поиску подстроки в середине имени элемента).
- В настройках AnyLogic добавлена возможность задать каталог, который будет предлагаться по умолчанию в качестве места хранения файлов новых моделей.
- Состояния диаграмм состояний теперь генерируются как перечисления Java, а не как числа типа short. У некоторых моделей могут быть проблемы с конвертацией. К примеру, если ваша функция содержит аргумент - состояние типа short, измените тип на MyAgent.MyStatechart_State, где MyStatechart - имя вашей диаграммы состояний.
- Убрана опция "Разрешить программное управление" для анимационных фигур, элементов управления и диаграмм. Все эти элементы теперь задаются в виде экземпляров Java объектов и доступны из кода по имени.
- Удалены функции getPresentation().getPanel(), getOffsetX(), getOffsetY(), getZoom() и getFrame().
- При запуске нестандартных экспериментов функция getPresentation() будет возвращать пустой объект.
- Диаграммы с временной осью: добавлен набор наиболее распространенных форматов дат.
- Новый параметр свойств эксперимента "Разрешить изменение масштаба и перетаскивание" (ранее это были два независимых параметра).
- Расписание: удален ненужный параметр "Список начальных и конечных времен / Список начальных времен", который дублировал параметр "Интервалы / Моменты времени".
- Агенты, расположенные в том же месте, что и анимация, обладают начальным вращением, соответствующим вращению анимации.
- У популяции агентов появилась функция stream(), которая позволяет выполнять операции в соответствии с Java 8 Stream API.
- Добавлены варианты функций Agent.applyNetwork() и randomAgentInside(), которые могут использовать нестандартный генератор случайных чисел и позволяют создавать агентные сети одинаковой структуры в экспериментах со случайным начальным числом или репликациями.
- Улучшена производительность элементов Набор данных и Данные гистограммы.
- Теперь можно задать масштаб анимации во время выполнения модели от 1% (в текстовом поле Текущий масштаб панели инструментов).
- Библиотека моделирования процессов: блок Queue: переименована функция sortEntities() в sortAgents().
- Панель свойства: исправлены ошибки копирования и вставки рядов в определенных таблицах.
- Графический редактор: отсоединение блока библиотеки от диаграммы процесса, зажав Shift и перетаскивая его.
- Графический редактор: соединение блока библиотеки с диаграммой процесса при копировании, зажав Ctrl и перетаскивая его.
- Возможность создания текстового файла, изображения, 3D объекта и файла Excel путем перетаскивания файла из внешней папки на графическую диаграмму агента.
- Графический редактор: двойной щелчок по элементу Текст открывает редактируемое поле.
Главное улучшение – новая Библиотека дорожного движения.
Библиотека позволяет пользователям моделировать:
- Движение автомобилей на дорогах с учётом ПДД.
- Светофоры, пешеходные переходы и приоритеты проезда на перекрестках.
- Парковки.
- Движение и остановки общественного транспорта.
С помощью Библиотеки дорожного движения можно легко моделировать улицы, дороги, перекрестки, развязки, подъезды к общественным зданиям, технологические проезды на производстве и любые другие системы, где есть автомобили и дороги. Также появилась возможность анализировать загруженность дорожной сети.
Добавлены новые блоки в библиотеку:
Кроме того, мы значительно улучшили исполнительное ядро библиотеки, чтобы скорость выполнения оставалась высокой даже для обширных и динамически перенастраиваемых сетей. Блоки библиотеки моделирования потоков теперь могут собирать статистические данные по хранящимся объемам вещества, скоростям потока и выгружать их во встроенную базу. Улучшения также включают нестандартную реакцию на изменение скорости, дополнительные функции и улучшенную анимация.
Теперь пользователи могут загружать в модель данные для расписаний, табличных функций и эмпирического распределения из базы данных.
Демо-модель: Grain Terminal Открыть страницу модели в AnyLogic Cloud. Там можно запустить модель или скачать ее по ссылке Исходные файлы модели. Демо-модель: Crude Oil Pipeline Network Открыть страницу модели в AnyLogic Cloud. Там можно запустить модель или скачать ее по ссылке Исходные файлы модели. Демо-модель: Chocolate Production Открыть страницу модели в AnyLogic Cloud. Там можно запустить модель или скачать ее по ссылке Исходные файлы модели.В моделях AnyLogic теперь есть встроенная база данных, из которой можно считывать входные данные и куда можно записывать результаты экспериментов. База может экспортироваться вместе с моделью и, как и модель, использоваться на любых устройствах. База данных позволяет:
- Считывать значения параметров и задавать конфигурацию экспериментов.
- Параметризовать популяции агентов.
- Задавать частоту прибытия агентов в процессных моделях.
- Импортировать данные из других БД или таблиц Excel и хранить их в доступной форме.
- Записывать логи диаграмм процессов, переходов в диаграммах состояний, пересылки сообщений, а также биографии агентов.
- Отслеживать использование ресурсов, время обработки агентов и движения.
- Сохранять и экспортировать статистику, наборы данных и любые виды логов.
Новая Библиотека моделирования потоков создана для имитации перемещения и хранения жидкостей, сыпучих веществ или больших объемов дискретных объектов, которые не нужно моделировать по отдельности.
Мы обновили Пешеходную библиотеку AnyLogic, добавив в нее элементы для моделирования эскалаторов и очередей-змеек.
В дополнение к маршрутам для автомобилей, велосипедов и пешеходов AnyLogic теперь поддерживает прокладку железнодорожных маршрутов по ГИС-картам.
Векторную графику из шейп-файлов можно автоматически конвертировать в элементы разметки AnyLogic. Например, можно конвертировать ж/д-пути и использовать их с Железнодорожной библиотекой AL.
Теперь при наведении курсора на элемент библиотеки или параметр вы увидите всплывающие подсказки.
Среди новых моделей – распределительный центр (Distribution Center), автозаправочная станция (Gas Station).
Функционал фигуры ГИС Карта был существенно улучшен: теперь она поддерживает тайловые карты (например, OpenStreetMap), и вы можете использовать в модели все данные, которые поставляются с тайловыми картами: названия городов, регионов, дорожные сети, типы объектов (больницы, школы, автобусные остановки и т.д.). Вы можете расположить агентов в конкретных местах на карте и заставить их перемещаться по реальным дорогам. ГИС карта может запрашивать маршруты с одного из поддерживаемых серверов (YOURS или BRouter) или использовать граф маршрутов, созданный из файла .osm с помощью встроенного мастера. Загружаемые тайлы и маршруты сохраняются в кэш, позволяя вам работать без доступа к сети Интернет.
Вы можете создавать нужные вам объекты на карте с помощью встроенного поиска и специальных элементов разметки карты ( ГИС Точка, ГИС Маршрут и ГИС Регион). С помощью панели Результаты ГИС поиска Вы можете также создать объект ГИС Мультирегион.
Как только вы добавляете фигуру ГИС Карта на диаграмму типа агента, пространство этого типа агента определяется как ГИС пространство.
Читайте больше о новом функционале ГИС карты в секции справки ГИС Модели.
Пространство ГИС традиционно использовалось в агентном моделировании. Теперь вы можете использовать агентов, которые живут в ГИС среде, в диаграммах процесса.
Больше информации здесь: ГИС агенты в диаграмме процесса.
- Новые функции расположения агентов, например, setLatLon(), getLatitude(), и т.д...
- Новые функции движения агентов, например, moveTo(geographicPlace), moveTo(node), и т.д...
См. также Справочник классов AnyLogic: GIS package.
Теперь вы имеете доступ к параметрам вашего типа агента в каждом блоке диаграммы процесса, и вам не нужно вручную указывать этот тип в свойствах блоков кроме тех блоков, которые создают агентов в этой диаграмме процесса, например, такие как Source, Enter, Assembler, Split, Batch.
Например, укажите свой тип агента в параметре Новый агент блока Source, чтобы он генерировал агентов именно этого типа, и вы сможете использовать локальную переменную agent, чтобы получить доступ к параметрам своего типа агента во всех следующих блоках этой диаграммы процесса. Вы можете проверить, распознается ли нужный тип агента в секции свойств Специфические блоков диаграммы процесса.
Элемент Параметр теперь может быть задан таким типом как Время, Интенсивность, Скорость, Длина, Ускорение и Площадь с соответствующими типу единицами измерения. Сначала вы выбираете тип параметра, а затем сможете выбрать требуемые единицы измерения.
Теперь вы можете легко и быстро выбрать нужные единицы измерения для параметров и процессов. Например, вы можете задать скорость движения агента в милях или километрах в час, выбрать единицы измерения времени для таймаутов событий, переходов, параметров блока Source, и т.п. В таком случае, элементы вашей модели не зависят от единиц модельного времени: они всегда сохраняют заданные значения в своих процессах.
Перейдите в панель Свойства элемента управления, выберите параметр Связать с и затем выберите нужный элемент из выпадающего списка рядом: параметр, переменную или параметр блока диаграммы. Больше не нужно вручную вводить имя параметра в этом свойстве:
Выбрав какой-либо элемент в свойствах другого объекта, вы всегда сможете найти его на диаграмме, щелкнув эту кнопку рядом со свойством:
Элементы, на которые ссылается тот или иной объект (блок библиотеки, например, ссылается на элемент разметки), подсвечиваются в графическом редакторе. Если вы выделяете объект, который ссылается на другие объекты, вы увидите, что они тоже выделены, но фиолетовым цветом:
Сделайте Ctrl + щелчок по имени элемента в коде, и он будет показан в центре графического редактора и подсвечен фиолетовым цветом.
Вы можете найти элемент Масштаб на диаграмме каждого агента над осью X. Новый функционал этого элемента позволяет легко задавать масштаб фигур анимации агента и контролировать соотношение пикселей и метров или любых других единиц измерения сразу на всей диаграмме этого агента.
В новой Java 8 лучше реализован API функций.
В примерах моделей Corporate Education, Product Delivery и Oil Supply Chain использован новый функционал ГИС Карты.
Airport with Two Terminals - Модель аэропорта с двумя терминалами, которая включает в себя расписание рейсов, регистрацию, личный досмотр, трансфер между терминалами, посадку на самолет, высадку и выдачу багажа. Модель имеет модульную и иерархическую структуру, в ней использованы Пешеходная, Железнодорожная библиотеки, а также Библиотека моделирования процессов, модель представлена в 2D и 3D анимации. Процессы поведения пассажира, поезда между терминалами и самолетов взаимосвязаны.
Демо-модель: Airport with Two Terminals Открыть страницу модели в AnyLogic Cloud. Там можно запустить модель или скачать ее по ссылке Исходные файлы модели.Corporate Education - Модель корпоративного обучения в компании, владеющей несколькими филиалами (это может быть, например, банк или страховая компания). Компания характеризуется большой текучестью кадров. Модель позволяет получить знания о том, как проходит процесс обучения (узнать долю полностью обученных сотрудников, и т.д.), а также связанные с обучением транспортные издержки как функцию от количества и расположения собственных тренеров компании. Все параметры модели (расположение филиалов, количество сотрудников, индивидуальные планы обучения, тренеры и их компетенции) считываются из файла Excel.
Демо-модель: Corporate Education Открыть страницу модели в AnyLogic Cloud. Там можно запустить модель или скачать ее по ссылке Исходные файлы модели.Product Delivery - Модель цепочки поставок товара в Европе. Эта цепочка поставок состоит из трех производителей и пятнадцати дистрибуторов, которые заказывают различное количество товара в среднем каждые пару дней. Каждый производитель имеет в распоряжении свой парк грузовых автомобилей. Когда производитель получает заказ от дистрибутора, он проверяет количество готового товара на складе. Если заказанное количество товара имеется в наличии, производитель отправляет грузовик с этим товаром к дистрибутору. Иначе заказ не выполняется, и дистрибутор ждет, пока требуемое количество товара не будет произведено. Это многоподходная модель. Дистрибуторы, грузовики и производственные центры являются агентами, каждый из которых имеет свое поведение: диаграмма системной динамики задает производство, а диаграмма процессов - отправку и обработку заказа. Агенты живут в пространстве ГИС. Имена географических мест, в которых расположены центры производства, считываются из файла Excel. Встроенный поиск по ГИС карте находит места и помещает в них агентов. Грузовики движутся по существующей сети дорог, а маршруты создаются, когда автомобили начинают движение к месту назначения.
Демо-модель: Product Delivery Открыть страницу модели в AnyLogic Cloud. Там можно запустить модель или скачать ее по ссылке Исходные файлы модели.Oil Supply Chain - Модель цепочки поставок нефти. Сырая нефть доставляется танкерами в припортовые хранилища. Затем, по нефтепроводу - к нефтеперерабатывающим заводам. Очищенный продукт перекачивается по сети нефтепроводов к хранилищам терминалов, откуда, с помощью наземного транспорта, доставляется ритейлерам. Это агентная модель: хранилища, НПЗ, ритейлеры, нефтепровод, грузовики и танкеры являются агентами. У модели есть 2D анимация на ГИС карте.
Демо-модель: Oil Supply Chain Открыть страницу модели в AnyLogic Cloud. Там можно запустить модель или скачать ее по ссылке Исходные файлы модели.- Локальные переменные в параметрах блоков Библиотеки Моделирования Процессов entity переименованы в agent.
- У блоков библиотеки Source, Assembler, Split, Batch, Enter появился новый параметр speed, задающий скорость агента.
- Блок настроек PML Settings перемещен в палитре из секции Дополнительные блоки в основную секцию блоков библиотеки.
- Добавлена новая опция Выделить диаграмму процесса в контекстном меню любого блока диаграммы.
- При удалении крайнего блока диаграммы процесса оставшийся крайний соединитель также будет удален (см. диалог Настройки AnyLogic).
- Добавлена опция Открыть папку модели в контекстном меню модели.
- Перетащите папку (или несколько папок) на панели Проекты или Палитра, чтобы открыть все модели, которые эта папка содержит.
- Поддержка экспорта зависимостей, необходимых для построения модели, вместе с экспортируемой моделью.
- Новый фильтр в панели Ошибки, по которому отображаются ошибки только модели, с которой вы в данный момент работаете.
- Кнопка Запустить теперь по умолчанию запускает эксперимент последней открытой или созданной модели (см. диалог Настройки AnyLogic).
- Опция Фиксированное начальное число теперь будет использоваться в экспериментах по умолчанию.
- Добавлена опция Создать коллекцию в контекстном меню нескольких выделенных объектов одного типа.
- Добавлена опция Создать диаграмму в контекстном меню таких объектов как Набор данных, Данные гистограммы, Данные двумерной гистограммы, массивы системной динамики.
- Элементы Основной палитры перенесены в палитру Агент.
- Диалоговое окно выбора файла изображения открывается автоматически при добавлении элемента Изображение на диаграмму агента
- Объект Стеллаж теперь поддерживает отрисовку вертикальных стоек в 3D анимации. Также вы можете задавать, как часто нужно рисовать стойки.
- Объект Аттрактор поддерживает режим рисования.
- В палитру 3D Объекты добавлено 20 новых фигур.
- У объектов Путь, Ж/д путь добавлена новая функция для определения длины length().
- Блок библиотеки RackSystem использует новые функции: nRows(), nLevels(row), nPositions(row), nDeepPositions(row).
- Вы можете конвертировать заданные интервалы времени из единиц модельного времени в указанные единицы и обратно с помощью функций toModelTime(), toTimeUnits().
-
Как мы можем улучшить эту статью?
-