What's new in AnyLogic 8.5
Multi-level models support
We have introduced levels for
space markup elements, presentation shapes, charts, controls, etc.
Multi-level objects, such as buildings, conveyors, and even cruise
liners, are now easier to model in AnyLogic within a
You work with levels similar to layers found in graphical
software. Each level can be designed separately,
while maintaining a multi-layer view, and the visibility of the levels can be changed, allowing you to hide or
display level contents.
To move material items between levels, special markup elements are
Material Handling Library
Density map for transporters:
We have added a density map
AGVs moving in free space.
Custom routing: Now you can
include specific paths in the custom route for the transporters.
New Material Handling Library
Tutorial: We have released a new tutorial - Lead Acid Battery Production.
It contains step-by-step instructions on how to build a model of a
production line for car batteries.
Pedestrian traffic: Pallet racks, conveyors, and cranes now have the Is obstacle
property. When it is selected, the space markup element becomes an
obstacle for pedestrians and they are forced to go around it.
New example models
- Optimization Experiment: Updated OptQuest optimizer to
the newest version, added JavaDoc and getOptimization() function
returning the underlying OptQuest optimization object. Models calling
some specific OptQuest functions now may have "Unreachable catch
block..." compilation problem - just remove the underlying try-catch
block to fix that.
- Material Handling Library: Added 'z' property to ConveyorNetwork.
- Material Handling Library: Improved performance and stability of
conveyor and transporter movement.
- Material Handling Library: Transporter Control: recalculateAccessNode(Node) and recalculateAccessPath(Path) functions added to
check the conditions of network elements accessibility and open/close
access to them accordingly.
- Material Handling Library: Improved diagnostic messages against
invalid parameter values.
- Material Handling Library: Added deadlock resolution counter
The counter works when the Resolve
collisions option is selected.
- Material Handling Library: Transporter Fleet: added option
to define capacity via schedule.
- Material Handling Library: Improved animation: smooth item
movement along conveyor curves.
- Material Handling Library: Free-space
transporters: Added parameter specifying maximum speed when moving
near an obstacle.
- Material Handling Library: Added custom resource choice for Station.
- Material Handling Library: Improved error diagnostics inside Move By Transporter when removing
an agent that is being delivered.
- Material Handling Library: ConveyorSpur:
fixed setting a gap between items after they are passed to the main
- Process Modeling Library: Pickup and Dropoff
blocks are now allowed in the resource unit's prepare / wrap up
- Process Modeling Library: Source
block now has First arrival time
option in Interarrival time
- Process Modeling Library: Added options to choose the nearest /
best unit for the given agent in the Service, Assembler,
Rack Pick, and Rack
- Process Modeling Library: Added options to choose the nearest by
GIS route unit for the given agent in the Seize and Service
- Process Modeling Library: Multi-level support: new Level parameter in addition to (x,y,z) in the blocks defining
location, like Source.
- Engine: Added an option to turn
off warnings reporting during the model run.
- Engine: Improved performance of distanceByRoute()
function for GIS models.
- Engine Animation: 3D Object:
Added properties defining the management of the imported 3D object's
internal lights and the scene lighting.
- Engine Animation: Improved performance when browser window is not
visible (minimized, or screen is locked, etc.).
- Engine API: Changed API for space markup elements initialization.
Models created by code may require code changes. Space markup elements
should be located in a level now,
and levels take care of initialization.
- Engine API: Added atan2fast(y, x) function to compute atan2 ~20 times faster. Average accuracy
loss is 3e-5 radians.
- Engine API: Added a function to access the custom experiment (if
available) from the agent: getEngine().getExperimentCustom().
- Engine API: Added functions setColor(i)
and getColor(i) for all chart types.
Use these functions to dynamically change color of the chart items.
- Engine API: Added the reset()
function to delete statistics for Density
- Built-in Database: Ports for working with the built-in database
are now chosen dynamically from a range of free ports.
- Built-in Database: Improved converter from old QueryDSL API.
- Graphical Editor: It is now possible to place a bus stop on both sides of a
- Graphical Editor: Improved grid snapping of the lift element
while resizing and dragging.
- Properties View: Path: Max
speed and number of transporters limits are now code fields allowing
e.g. to use parameter values there.
- Application: Maximum Java heap size (-Xmx) for AnyLogic IDE
increased to 4Gb.
- Application: Export to Cloud: Added matching the existing model
by name when uploading a new version.
- Application: Export to Cloud: Now we suggest the Test models category by default in
AnyLogic for Evaluation license and for PLE edition.
- Application: Implemented dynamic port choice for incoming
messages from command-line interface and running models.
- Application: AnyLogic application is now configured to use 4 GB
- Examples: New models: Material Handling in Hospital, Agent
per Fluid Batсh, Conveyor Singulator.
- Examples: Improved models: Crude
Oil Pipeline Network, Gas
Supply Chain, Product
and Writing Excel Files, SIR
in GIS Based Space.
- Examples: Added links to source materials where applicable.
- Runtime UI: Added indicators
for network access and
individual runs in multi-run experiments.
- Material Handling Library: Fixed an error in transporter movement
which could occur when setting speed limits to some nodes.
- Material Handling Library: TransporterControl.findPath
throws RuntimeException if LocationXYZ
is used as an argument.
- Material Handling Library: Conveyor
Spur: Fixed and improved item movement, merging, priorities, and
- Material Handling Library: Fixed bug: Transporter could move in
the wrong direction in some cases.
- Material Handling Library: Fixed bug: Callback on leading edge
could be called for an agent that can't enter the station.
- Material Handling Library: Fixed bug: Station might not start processing
despite having enough items.
- Material Handling Library: Move By Transporter: Fixed a
possible error with setting the final agent destination location when Release transporter is turned off.
- Material Handling Library: Fixed a possible error in the free space
movement through narrow corridors.
- Material Handling Library: Fixed a possible error when free space
transporters could ignore racks and conveyors marked as obstacles.
- Material Handling Library: Fixed a possible error ("Incorrect
event time") in the transporter path logic.
- Material Handling Library: Fixed transporter route selection if
the picked agent is located in a polygonal
- Material Handling Library: Fixed Save in snapshot feature for
free space transporters.
- Process Modeling Library: Fixed bug: Possible duplication of the On seize action call when using Seize.recalculateResourceChoiceConditions().
- Process Modeling Library: Assembler: Fixed bug: Setting
the location for assembled agents in the On at exit action. Added the Output buffer capacity parameter.
- Pedestrian Library: Fixed bug: grouped pedestrians could be
stuck in a looped flowchart in case the destination point changes
- Engine: Fixed bug: Optimization
experiment didn't resume after pause.
- Engine: Statechart: Fixed current state value returned within the
action of the final state.
- Engine: Runtime UI: Fixed animation frames accumulation caused by
animation window being minimized or screen locked.
- Engine: Fixed incorrect agent movement from outside to the
network: some agents could move along a straight path.
- Engine: Fixed Combo Box
element: if the default value is empty, the first value from list
should be set automatically.
- Engine: Fixed: Schedule
initialized from the build-in database could throw incorrect interval
- Engine Animation: Fixed a problem with strange pale colors of
some 3D shapes (e.g. rail cars from the palette).
- Engine API: Fixed javadoc of exportToExternalDB()
function of getEngine().getModelDatabase().
- Built-in Database: Fixed compilation error when using option Check if any rows match condition(s)
in query builder.
- Graphical Editor: Fixed an error when trying to drag a path child
element (Conveyor Spur, Station, Road Stop Line, etc.) from palette
to a path (Conveyor, Road, etc.) while there is a
multiselection in GE.
- Graphical Editor: Fixed bug: Changing the scale didn't change the
scale of conveyors.
- Properties View: Fixed an error indication for a radio button
linked to a variable: the error "Invalid number" was displayed when
typing the name of a new item.
- Properties View: Fixed appearance issues of the color picker
widget after saving the model.
- Properties View: Parameters
Preview section: Fixed freezing during reordering of parameters
under Mac OS in some cases.
- Properties View: Fixed an error with displaying the properties of
a collection linked to a DB table.
- Properties View: Fixed Built-in Database properties: the same
file was added to the list of input data sources after several imports
(of different tables).
- Properties View: Fixed bug: Text file element didn't
show file name properly in some cases.
- Application: Fixed bug: Creating a custom flowchart block that contains
- Application: Fixed issues with connectors placement when creating
a flowchart block from selection.
- Application: Fixed error: Resolving .jar dependencies from
outside of a model folder.
- Application: Fixed an error which could occur when exporting a
model with GIS offline routing graph.
- Examples: Fixed possible errors in these models: Flexible
Manufacturing Supply Chain, Palletizing
system with AGV.