Path: blob/main/tests/tools/drt/drtOrtools/plain/output.tools
428530 views
Simulation parameters:
end: 900.0
interval: 30
time_limit: 10
cost_type: CostType.DISTANCE
drf: 1.5
waiting_time: 900
fix_allocation: False
timestep: 0.0
Reservations waiting: ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']
Taxis empty: ('v0', 'v1')
Solve CPDP
Start creating the model.
dp reservations: ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']
do reservations: []
Reservation 0 starts at edge C1C2
Reservation 1 starts at edge B2B1
Reservation 2 starts at edge C2C1
Reservation 3 starts at edge B1A1
Reservation 4 starts at edge A1A0
Reservation 5 starts at edge D0D1
Reservation 6 starts at edge D2E2
Reservation 7 starts at edge D0D1
Reservation 8 starts at edge B0B1
Reservation 9 starts at edge C1B1
Reservation 0 ends at edge B0C0
Reservation 1 ends at edge C2D2
Reservation 2 ends at edge E1E2
Reservation 3 ends at edge B2B1
Reservation 4 ends at edge E2E1
Reservation 5 ends at edge F1F0
Reservation 6 ends at edge C2D2
Reservation 7 ends at edge C0C1
Reservation 8 ends at edge B2B1
Reservation 9 ends at edge E0D0
Reservation 0 has direct route costs 885
Reservation 1 has direct route costs 780
Reservation 2 has direct route costs 785
Reservation 3 has direct route costs 770
Reservation 4 has direct route costs 1575
Reservation 5 has direct route costs 777
Reservation 6 has direct route costs 1364
Reservation 7 has direct route costs 575
Reservation 8 has direct route costs 276
Reservation 9 has direct route costs 1565
Penalty factor is 3000
Start solving the problem.
Register distance callback.
Create time dimension.
Add distance constraints...
Add pickup and delivery constraints...
pickup/dropoff nodes: 1/2
allow to reject new reservation 0
pickup/dropoff nodes: 3/4
allow to reject new reservation 1
pickup/dropoff nodes: 5/6
allow to reject new reservation 2
pickup/dropoff nodes: 7/8
allow to reject new reservation 3
pickup/dropoff nodes: 9/10
allow to reject new reservation 4
pickup/dropoff nodes: 11/12
allow to reject new reservation 5
pickup/dropoff nodes: 13/14
allow to reject new reservation 6
pickup/dropoff nodes: 15/16
allow to reject new reservation 7
pickup/dropoff nodes: 17/18
allow to reject new reservation 8
pickup/dropoff nodes: 19/20
allow to reject new reservation 9
Add direct route factor constraints...
reservation 0: direct route cost 885 and (hard) max cost 1328
reservation 1: direct route cost 780 and (hard) max cost 1170
reservation 2: direct route cost 785 and (hard) max cost 1178
reservation 3: direct route cost 770 and (hard) max cost 1155
reservation 4: direct route cost 1575 and (hard) max cost 2362
reservation 5: direct route cost 777 and (hard) max cost 1166
reservation 6: direct route cost 1364 and (hard) max cost 2046
reservation 7: direct route cost 575 and (hard) max cost 862
reservation 8: direct route cost 276 and (hard) max cost 414
reservation 9: direct route cost 1565 and (hard) max cost 2348
Add dropoff constraints...
Add capacity constraints...
Add time windows constraints...
hard time window for node 1: [1, 900]
hard time window for node 2: [1, 900]
hard time window for node 3: [1, 900]
hard time window for node 4: [1, 900]
hard time window for node 5: [1, 900]
hard time window for node 6: [1, 900]
hard time window for node 7: [1, 900]
hard time window for node 8: [1, 900]
hard time window for node 9: [1, 900]
hard time window for node 10: [1, 900]
hard time window for node 11: [1, 900]
hard time window for node 12: [1, 900]
hard time window for node 13: [1, 900]
hard time window for node 14: [1, 900]
hard time window for node 15: [1, 900]
hard time window for node 16: [1, 900]
hard time window for node 17: [1, 900]
hard time window for node 18: [1, 900]
hard time window for node 19: [1, 900]
hard time window for node 20: [1, 900]
hard time window for node 21: [1, 900]
hard time window for node 22: [1, 900]
Add waiting time constraints...
reservation 0 has a maximum (hard) pickup time at 900
reservation 1 has a maximum (hard) pickup time at 900
reservation 2 has a maximum (hard) pickup time at 900
reservation 3 has a maximum (hard) pickup time at 900
reservation 4 has a maximum (hard) pickup time at 900
reservation 5 has a maximum (hard) pickup time at 900
reservation 6 has a maximum (hard) pickup time at 900
reservation 7 has a maximum (hard) pickup time at 900
reservation 8 has a maximum (hard) pickup time at 900
reservation 9 has a maximum (hard) pickup time at 900
## Done
Set solution heuristic...
Start solving the problem.
Objective: 11772
Route for vehicle 0:
21 (L: 0, C: 0, T: (1,73))
-> 17 (L: 1, C: 387, T: (33,105))
-> 18 (L: 0, C: 663, T: (59,131))
-> 1 (L: 1, C: 1148, T: (100,172))
-> 19 (L: 2, C: 1618, T: (141,213))
-> 2 (L: 1, C: 2303, T: (255,327))
-> 20 (L: 0, C: 3479, T: (411,483))
-> 15 (L: 1, C: 3859, T: (439,511))
-> 16 (L: 0, C: 4434, T: (552,624))
-> 5 (L: 1, C: 4710, T: (578,650))
-> 11 (L: 2, C: 5295, T: (626,698))
-> 6 (L: 1, C: 5775, T: (724,796))
-> 12 (L: 0, C: 6353, T: (828,900))
-> 0 (L: 0, C: 6353, T: (828,900))
Costs of the route: 6353
Route for vehicle 1:
22 (L: 0, C: 0, T: (1,234))
-> 7 (L: 1, C: 677, T: (51,284))
-> 9 (L: 2, C: 1064, T: (81,314))
-> 3 (L: 3, C: 1740, T: (140,373))
-> 8 (L: 2, C: 1826, T: (206,439))
-> 4 (L: 1, C: 2606, T: (330,563))
-> 10 (L: 0, C: 3286, T: (440,673))
-> 13 (L: 1, C: 4055, T: (501,734))
-> 14 (L: 0, C: 5419, T: (667,900))
-> 0 (L: 0, C: 5419, T: (667,900))
Costs of the route: 5419
Total cost of the routes: 11772
Start interpreting the solution for SUMO.
Dispatching v0 with ['8', '8', '0', '9', '0', '9', '7', '7', '2', '5', '2', '5']
Costs for v0: 6353
Dispatching v1 with ['3', '4', '1', '3', '1', '4', '6', '6']
Costs for v1: 5419
timestep: 30.0
Reservations being picked up: ['0', '1', '2', '3', '4', '5', '6', '7', '9']
Reservations en route: ['8']
Taxis picking up: ('v0', 'v1')
Taxis occupied: ('v0',)
Taxis occupied and picking up: ('v0',)
timestep: 60.0
Reservations being picked up: ['0', '1', '2', '4', '5', '6', '7', '9']
Reservations en route: ['3', '8']
Taxis picking up: ('v0', 'v1')
Taxis occupied: ('v0', 'v1')
Taxis occupied and picking up: ('v0', 'v1')
timestep: 90.0
Reservations being picked up: ['0', '1', '2', '5', '6', '7', '9']
Reservations en route: ['3', '4', '8']
Taxis picking up: ('v0', 'v1')
Taxis occupied: ('v0', 'v1')
Taxis occupied and picking up: ('v0', 'v1')
timestep: 120.0
Reservations being picked up: ['0', '1', '2', '5', '6', '7', '9']
Reservations en route: ['3', '4', '8']
Taxis picking up: ('v0', 'v1')
Taxis occupied: ('v0', 'v1')
Taxis occupied and picking up: ('v0', 'v1')
timestep: 150.0
Reservations being picked up: ['0', '2', '5', '6', '7', '9']
Reservations en route: ['1', '4']
Taxis picking up: ('v0', 'v1')
Taxis occupied: ('v1',)
Taxis occupied and picking up: ('v1',)
timestep: 180.0
Reservations being picked up: ['2', '5', '6', '7', '9']
Reservations en route: ['0', '1', '4']
Taxis picking up: ('v0', 'v1')
Taxis occupied: ('v0', 'v1')
Taxis occupied and picking up: ('v0', 'v1')
timestep: 210.0
Reservations being picked up: ['2', '5', '6', '7']
Reservations en route: ['0', '1', '4', '9']
Taxis picking up: ('v0', 'v1')
Taxis occupied: ('v0', 'v1')
Taxis occupied and picking up: ('v0', 'v1')
timestep: 240.0
Reservations being picked up: ['2', '5', '6', '7']
Reservations en route: ['0', '1', '4', '9']
Taxis picking up: ('v0', 'v1')
Taxis occupied: ('v0', 'v1')
Taxis occupied and picking up: ('v0', 'v1')
timestep: 270.0
Reservations being picked up: ['2', '5', '6', '7']
Reservations en route: ['0', '1', '4', '9']
Taxis picking up: ('v0', 'v1')
Taxis occupied: ('v0', 'v1')
Taxis occupied and picking up: ('v0', 'v1')
timestep: 300.0
Reservations being picked up: ['2', '5', '6', '7']
Reservations en route: ['0', '1', '4', '9']
Taxis picking up: ('v0', 'v1')
Taxis occupied: ('v0', 'v1')
Taxis occupied and picking up: ('v0', 'v1')
timestep: 330.0
Reservations being picked up: ['2', '5', '6', '7']
Reservations en route: ['4', '9']
Taxis picking up: ('v0', 'v1')
Taxis occupied: ('v0', 'v1')
Taxis occupied and picking up: ('v0', 'v1')
timestep: 360.0
Reservations being picked up: ['2', '5', '6', '7']
Reservations en route: ['4', '9']
Taxis picking up: ('v0', 'v1')
Taxis occupied: ('v0', 'v1')
Taxis occupied and picking up: ('v0', 'v1')
timestep: 390.0
Reservations being picked up: ['2', '5', '6', '7']
Reservations en route: ['4', '9']
Taxis picking up: ('v0', 'v1')
Taxis occupied: ('v0', 'v1')
Taxis occupied and picking up: ('v0', 'v1')
timestep: 420.0
Reservations being picked up: ['2', '5', '6', '7']
Reservations en route: ['4', '9']
Taxis picking up: ('v0', 'v1')
Taxis occupied: ('v0', 'v1')
Taxis occupied and picking up: ('v0', 'v1')
timestep: 450.0
Reservations being picked up: ['2', '5', '6', '7']
Taxis picking up: ('v0', 'v1')
timestep: 480.0
Reservations being picked up: ['2', '5']
Reservations en route: ['6', '7']
Taxis picking up: ('v0',)
Taxis occupied: ('v0', 'v1')
Taxis occupied and picking up: ('v0',)
timestep: 510.0
Reservations being picked up: ['2', '5']
Reservations en route: ['6', '7']
Taxis picking up: ('v0',)
Taxis occupied: ('v0', 'v1')
Taxis occupied and picking up: ('v0',)
timestep: 540.0
Reservations being picked up: ['2', '5']
Reservations en route: ['6', '7']
Taxis picking up: ('v0',)
Taxis occupied: ('v0', 'v1')
Taxis occupied and picking up: ('v0',)
timestep: 570.0
Reservations being picked up: ['2', '5']
Reservations en route: ['6', '7']
Taxis picking up: ('v0',)
Taxis occupied: ('v0', 'v1')
Taxis occupied and picking up: ('v0',)
timestep: 600.0
Reservations being picked up: ['5']
Reservations en route: ['2', '6']
Taxis picking up: ('v0',)
Taxis occupied: ('v0', 'v1')
Taxis occupied and picking up: ('v0',)
timestep: 630.0
Reservations being picked up: ['5']
Reservations en route: ['2', '6']
Taxis picking up: ('v0',)
Taxis occupied: ('v0', 'v1')
Taxis occupied and picking up: ('v0',)
timestep: 660.0
Reservations en route: ['2', '5']
Taxis empty: ('v1',)
Taxis occupied: ('v0',)
timestep: 690.0
Reservations en route: ['2', '5']
Taxis empty: ('v1',)
Taxis occupied: ('v0',)
timestep: 720.0
Reservations en route: ['2', '5']
Taxis empty: ('v1',)
Taxis occupied: ('v0',)
timestep: 750.0
Reservations en route: ['5']
Taxis empty: ('v1',)
Taxis occupied: ('v0',)
timestep: 780.0
Reservations en route: ['5']
Taxis empty: ('v1',)
Taxis occupied: ('v0',)
timestep: 810.0
Reservations en route: ['5']
Taxis empty: ('v1',)
Taxis occupied: ('v0',)
timestep: 840.0
Reservations en route: ['5']
Taxis empty: ('v1',)
Taxis occupied: ('v0',)
timestep: 870.0
Taxis empty: ('v0', 'v1')
timestep: 900.0
Taxis empty: ('v0', 'v1')