[sumo-user] Problem about the DUE in simulation

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

[sumo-user] Problem about the DUE in simulation

Jane Cheung
Dear all,
Could anyone give me some suggestions on how to reroute routes for vehicles that have not finished their journeys with DUE algorithm during simulation?
For example, 
After the simulation running 5min( the duration for the simulation is 20min ), I would like to refresh the routes for all vehicles moving or going to insert in my network. After refresh routes, the traffic flow state is in DUE.
How could I realize it?

Any kind of help would be appreciated!

Best regards! 

Jane Cheung

_______________________________________________
sumo-user mailing list
[hidden email]
To unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/sumo-user
Reply | Threaded
Open this post in threaded view
|

Re: [sumo-user] Problem about the DUE in simulation

yun-pang.floetteroed

Dear Jane,

 

To get an assignment result, which is reached or closed to a DUE state, you can use duaIterate.py under the Directory “tool\assign” of your SUMO Directory.  The duaIterate.py will do the traffic assignment with the DUE-objective iteratively until the defined number of iterations is reached. At each iteration, the traffic state in the previous iteration will be used for traffic assignment.

 

To facilitate the whole assignment process you can also use SUMO’s rerouting options at the same time so that simulation objects can consider the latest traffic information for mode/route choice during simulation. In order to do that you need to give the following commands in addition to the required inputs (as indicated “…” below) when running duaIterate.py, where 1.0 means all vehicles have the rerouting devices, and 300 means the traffic information is updated every 5 mins for vehicles with rerouting device. Of course, you can adjust these values according to your need.

 

duaIterate.py .... sumo--device.rerouting.probability 1.0 sumo--device.rerouting.period 300

 

After running the duaIterate.py you can check the route travel times of the simulation objects in the last file ‘*.alt.xml’ , which is an alternative route file generated by the duarouter at each iteration. If the time difference is larger than your threshold, you can increase the number of iterations in the duaIterate.py and re-run the script.

 

 

I hope, this helps.

 

Best regards,

Yun-Pang

 

Von: [hidden email] [mailto:[hidden email]] Im Auftrag von Jane Cheung
Gesendet: Sonntag, 28. Juni 2020 04:28
An: Sumo project User discussions
Betreff: [sumo-user] Problem about the DUE in simulation

 

Dear all,

Could anyone give me some suggestions on how to reroute routes for vehicles that have not finished their journeys with DUE algorithm during simulation?

For example, 

After the simulation running 5min( the duration for the simulation is 20min ), I would like to refresh the routes for all vehicles moving or going to insert in my network. After refresh routes, the traffic flow state is in DUE.

How could I realize it?

 

Any kind of help would be appreciated!

 

Best regards! 

 

Jane Cheung


_______________________________________________
sumo-user mailing list
[hidden email]
To unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/sumo-user
Reply | Threaded
Open this post in threaded view
|

Re: [sumo-user] Problem about the DUE in simulation

Jane Cheung
Yun-Pang, 

Thanks for your reply! 
In my case, I also want to do other optimization at 3600 s which will also change the route. In other words, there' are two steps I want  to
1) First, do my specific optimization algorithm that will influence the traffic flow from 3601s-7200s,
2) then, use duaIterate.py  to get the equilibrium traffic flow based on the optimized traffic time in step 1).

The problem that confused me is how could I use duaIterate.py to generate the optimized routes in step 2) during the simulation?
What I can do is to use  duaIterate.py before simulation and use the last step iterated  ROUTE file as the ROUTE file in sumo.cfg (as you reply in email )and run sumo.exe at my defined simulation start time, like 0s. I wonder is there some methods I could do  duaIterate.py( iterations = 50) at 3600s and then reload  duaIterate.py( iterations = 50) generated route file and let the simulation continue with that route?

Appreciated!

Best regard,

Jane Cheung

On Mon, Jun 29, 2020 at 7:16 PM <[hidden email]> wrote:

Dear Jane,

 

To get an assignment result, which is reached or closed to a DUE state, you can use duaIterate.py under the Directory “tool\assign” of your SUMO Directory.  The duaIterate.py will do the traffic assignment with the DUE-objective iteratively until the defined number of iterations is reached. At each iteration, the traffic state in the previous iteration will be used for traffic assignment.

 

To facilitate the whole assignment process you can also use SUMO’s rerouting options at the same time so that simulation objects can consider the latest traffic information for mode/route choice during simulation. In order to do that you need to give the following commands in addition to the required inputs (as indicated “…” below) when running duaIterate.py, where 1.0 means all vehicles have the rerouting devices, and 300 means the traffic information is updated every 5 mins for vehicles with rerouting device. Of course, you can adjust these values according to your need.

 

duaIterate.py .... sumo--device.rerouting.probability 1.0 sumo--device.rerouting.period 300

 

After running the duaIterate.py you can check the route travel times of the simulation objects in the last file ‘*.alt.xml’ , which is an alternative route file generated by the duarouter at each iteration. If the time difference is larger than your threshold, you can increase the number of iterations in the duaIterate.py and re-run the script.

 

 

I hope, this helps.

 

Best regards,

Yun-Pang

 

Von: [hidden email] [mailto:[hidden email]] Im Auftrag von Jane Cheung
Gesendet: Sonntag, 28. Juni 2020 04:28
An: Sumo project User discussions
Betreff: [sumo-user] Problem about the DUE in simulation

 

Dear all,

Could anyone give me some suggestions on how to reroute routes for vehicles that have not finished their journeys with DUE algorithm during simulation?

For example, 

After the simulation running 5min( the duration for the simulation is 20min ), I would like to refresh the routes for all vehicles moving or going to insert in my network. After refresh routes, the traffic flow state is in DUE.

How could I realize it?

 

Any kind of help would be appreciated!

 

Best regards! 

 

Jane Cheung

_______________________________________________
sumo-user mailing list
[hidden email]
To unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/sumo-user

_______________________________________________
sumo-user mailing list
[hidden email]
To unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/sumo-user
Reply | Threaded
Open this post in threaded view
|

Re: [sumo-user] Problem about the DUE in simulation

yun-pang.floetteroed

Hi Jane,

 

Your approach sounds quite complicated and I am not sure if I get you points correctly. It is also not clear how steps 1 and 2 exactly interact with each other….

 

You could set all the vehicles keeping the original assigned routes within the first 3600 s in the duaIterate.py so that the traffic state files will be saved for further iterations. The duaIterate will then start to find the DUE for the vehicles departing after 3600 s. But it is not clear where/how/for what your optimization algorithm will be applied…..

 

Another thought is to do as follow:

1.       run sumo for the simulation for the first 3600 s and save the traffic state files

2.       apply your optimization algorithm to get the result as input(?)

3.       pause the sumo simulation and start the duaIterate.py also with the inputs from 2 (?) and the traffic state files in 1 to get the final route file

4.       continue to run sumo and use traci and the routes from 3 to replace the routes of the vehicles in the network.

 

       In this way, you need to put all these steps in a script.

 

Best regards,

Yun-Pang

 

Von: [hidden email] [mailto:sumo-user-b[hidden email]] Im Auftrag von Jane Cheung
Gesendet: Dienstag, 30. Juni 2020 03:52
An: Sumo project User discussions
Betreff: Re: [sumo-user] Problem about the DUE in simulation

 

Yun-Pang, 

 

Thanks for your reply! 

In my case, I also want to do other optimization at 3600 s which will also change the route. In other words, there' are two steps I want  to

1) First, do my specific optimization algorithm that will influence the traffic flow from 3601s-7200s,

2) then, use duaIterate.py  to get the equilibrium traffic flow based on the optimized traffic time in step 1).


The problem that confused me is how could I use duaIterate.py to generate the optimized routes in step 2) during the simulation?

What I can do is to use  duaIterate.py before simulation and use the last step iterated  ROUTE file as the ROUTE file in sumo.cfg (as you reply in email )and run sumo.exe at my defined simulation start time, like 0s. I wonder is there some methods I could do  duaIterate.py( iterations = 50) at 3600s and then reload  duaIterate.py( iterations = 50) generated route file and let the simulation continue with that route?

 

Appreciated!

 

Best regard,

 

Jane Cheung

 

On Mon, Jun 29, 2020 at 7:16 PM <[hidden email]> wrote:

Dear Jane,

 

To get an assignment result, which is reached or closed to a DUE state, you can use duaIterate.py under the Directory “tool\assign” of your SUMO Directory.  The duaIterate.py will do the traffic assignment with the DUE-objective iteratively until the defined number of iterations is reached. At each iteration, the traffic state in the previous iteration will be used for traffic assignment.

 

To facilitate the whole assignment process you can also use SUMO’s rerouting options at the same time so that simulation objects can consider the latest traffic information for mode/route choice during simulation. In order to do that you need to give the following commands in addition to the required inputs (as indicated “…” below) when running duaIterate.py, where 1.0 means all vehicles have the rerouting devices, and 300 means the traffic information is updated every 5 mins for vehicles with rerouting device. Of course, you can adjust these values according to your need.

 

duaIterate.py .... sumo--device.rerouting.probability 1.0 sumo--device.rerouting.period 300

 

After running the duaIterate.py you can check the route travel times of the simulation objects in the last file ‘*.alt.xml’ , which is an alternative route file generated by the duarouter at each iteration. If the time difference is larger than your threshold, you can increase the number of iterations in the duaIterate.py and re-run the script.

 

 

I hope, this helps.

 

Best regards,

Yun-Pang

 

Von: [hidden email] [mailto:[hidden email]] Im Auftrag von Jane Cheung
Gesendet: Sonntag, 28. Juni 2020 04:28
An: Sumo project User discussions
Betreff: [sumo-user] Problem about the DUE in simulation

 

Dear all,

Could anyone give me some suggestions on how to reroute routes for vehicles that have not finished their journeys with DUE algorithm during simulation?

For example, 

After the simulation running 5min( the duration for the simulation is 20min ), I would like to refresh the routes for all vehicles moving or going to insert in my network. After refresh routes, the traffic flow state is in DUE.

How could I realize it?

 

Any kind of help would be appreciated!

 

Best regards! 

 

Jane Cheung

_______________________________________________
sumo-user mailing list
[hidden email]
To unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/sumo-user


_______________________________________________
sumo-user mailing list
[hidden email]
To unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/sumo-user
Reply | Threaded
Open this post in threaded view
|

Re: [sumo-user] Problem about the DUE in simulation

Jane Cheung

hi, yun-pang

Thanks for your reply!

The process that I would like to do is like the second one you prsented.

My questions:

what kind of traffic states files should I request SUMO to generated and how to let SUMO to generate them?

Simply, the command for DUE(https://sumo.dlr.de/docs/Demand/Dynamic_User_Assignment.html#iterative_assignment_dynamic_user_equilibrium) is

python duaIterate.py -n <network-file> -t <trip-file> -l <nr-of-iterations>

The traffic states files are xx.net.xml and xx.rou.xml(or xx.trips.xml)?

 

As described in the previous email, I want to pause my simulation instead of stop it. Some xml files contain traffic states could only be got after one simulation running at the end of the simulation.

How to get the net.xml and rou.xml or trips.xml at this time point?

 

 

I have read your work  “Improving SUMO's Signal Control Programs by Introducing Route Information”. The traffic actuated algorithm used in SUMO now is the one described in this paper?

 

Thank you again for your patient and thorough response.

Best regards,

 

Jane Cheung



_______________________________________________
sumo-user mailing list
[hidden email]
To unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/sumo-user