Is it possible to manually assign paths to destinations using custom formulas in AGV Network?

Is it possible to manually assign paths to destinations using custom formulas in AGV Network?

akskzkxksk
Contributor Contributor
201 Views
2 Replies
Message 1 of 3

Is it possible to manually assign paths to destinations using custom formulas in AGV Network?

akskzkxksk
Contributor
Contributor

[FlexSim 25.1.5]

 

I am currently building a simulation model using the AGV Network. However, I've found that when using the built-in AGV Network in FlexSim, I cannot select paths based on my own custom calculations (e.g., guiding the AGV through a specific path by calculating a custom Cost value). I require dynamic calculations for my routing.

Based on my research, there are three available methods in FlexSim. Could you please confirm if my understanding is correct?

  1. Route Cost - Divide By Speed
  2. Route Cost - Multiply By Custom Path Cost
  3. CustomizationDelegate - getPathTravelWeight

I understand that options 1 and 2 are for static calculations, while option 3 allows for dynamic calculations. Since I need dynamic routing, I attempted the third method. I assigned a "Path.Cost" label to each path and updated these costs in the Process Flow immediately before the Travel activity. However, the simulation became so slow that it was practically impossible to run.

The scale of my model is quite large: approximately 500 AGVs and several thousand paths and control points. My assumption is that updating the cost for each path triggers a global update of all paths and forces the system to recalculate the shortest path (via A* or Dijkstra), which is causing the performance bottleneck. Is this correct?

If so, what I actually want to achieve is as follows:
I want to create a custom calculation formula using my own Cost values to determine the path from a starting point (AGV or specific Control Point) to a destination (specific Control Point). I would like to manually generate the route, including intermediate waypoints using the Dijkstra algorithm, and have the AGV follow that specific path.

In short, the core of my request is to bypass the default pathfinding and configuration of the FlexSim AGV Network and apply a custom-calculated route. I need a solution that minimizes the computational load to ensure the simulation runs at a reasonable speed.

Could anyone provide a solution or a better approach?

 

@FelixMoehlmann

0 Likes
Accepted solutions (1)
202 Views
2 Replies
Replies (2)
Message 2 of 3

akskzkxksk
Contributor
Contributor

Isn’t there anyone who can reply to this post?

0 Likes
Message 3 of 3

FelixMoehlmann
Collaborator
Collaborator
Accepted solution

Using the "getPathTravelWeight" hook means that no routes are cached and a new route is calculated for each travel task using A*. To increase performance you could try to precalculate your own custom routing table and split up a travel task into multiple smaller tasks that route the AGV from one CP to the next with individual tasks. But you can't replace/suppress the route calculation of the AGV navigator. It navigator would still need to calculate a route for each of those travel tasks, but doing so for many small routes should be faster than one big one.

If your goal is to do completely dynamic routing that takes the current model state into account (i.e. no precached routes of any kind) then that will invariably be slow.

0 Likes