Currently, I am creating a simulation model to find the optimal route for the transporters (To reduce the travel time). The idea is as follows: Transporter travelling from 'A' to 'B', in the midway of the route, there are many possible routes to reach a destination.
(to explain I have attached a photo with an example)
Some routes have connections to many other source/destinations, which adds up traffic to the tracks and available capacity of the tracks changes over time. This case, I'm trying to simulate for a large network.
Plant Simulation model is taking the shortest distance path always to travel from A to B . if the shortest distance path is occupied the transporter waits until it is free, but it is not choosing the alternative routes which has slightly more distance.
I want to make some logic for this case,
1) if the shortest path is not free the transporter has to take the alternative route , or
2) If the waiting time for the shortest distance route to get free is more than the transverse time on the bigger route, then choose the bigger route.
I am a beginner in plant simulation. I do not know what control to use and where to use it.
Please, If anyone has any idea / inputs please give.
Thanks & regards
Hello Vladimir ,
Thank you very much for the reply.
I have some doubts regarding the points you mentioned:
1) Can I create more than one route weighting attributes for a transporter ?
2) I tried to explore the option route weight attribute in transporter settings, I was able to assign a value for each track individually. But, I could not get how to update this value dynamically during the simulation based on the capacity of the road.
Regarding your second question. You could update the routing weights before calculating a route based on value of the attribute NumMU of the Track object.
--loop through all tracks
idx := Track.getAttrNo("RoutingWeight");
Automatic Routing will guide your transporter to the route with the least amount of traffic. You could improve this with more advanced traffic rules (e.g., threshold values before altering route or estimated arrival time), but this will do for a simple application.