Research Article

Multiagent Routing Simulation with Partial Smart Vehicles Penetration

Algorithm 1

Simulation pseudocode.
Data: Transportation network graph, starting/ending area coordinates, parameters (Table 2)
Result: Array of vehicles travel time
(1)generate VEHICLES population with source and destination location;
(2)calculate initial routes (speed limits) and run “previous day” simulation;
(3)calculate initial routes (average speeds from line 2);
(4)SIMULATION###XXX###5F;CLOCK###XXX###2009;:###XXX###3D;0;
(5)repeat
(6)EVENT###XXX###5F;TIME, EVENT := findmin(NextEdge(),NextUpdate());
(7)SIMULATION###XXX###5F;CLOCK := SIMULATION###XXX###5F;CLOCK + EVENT###XXX###5F;TIME;
(8)ifEVENT = next_edge then
(9)  UpdateAgentsAndVelocities();
(10)  ifNODE = DESTINATIONthen
(11)   RemoveVehicle();
(12)  end
(13)end
(14)ifEVENT = next_update then
(15)  foreach vehicle VEHICLESdo
(16)   if vehicle is smart then
(17)    KShortestPathRerouting();
(18)   end
(19)  end
(20)end
(21)Untilactive(Vehicle)=0;