Contents:
Disclaimer: The Robot Optimizer is not a general feature. For details about setting up and enabling this feature for your platforms reach out to your Customer Success Manager.
1. What is the Robot Optimizer?
The Robot Optimizer is an automated optimization feature in Urbantz, designed to reduce the number of vehicles needed for deliveries while minimizing orphan tasks and time slot violations. It runs multiple optimization iterations to find the best possible solution based on predefined criteria.
2. How it works?
The Robot Optimizer follows an iterative process that automatically runs multiple optimizations to achieve an optimal result:
Key Features
-
Automatic scheduling: Executes at predefined times without manual intervention
-
Multiple iterations: Performs up to 3 optimization runs (initial, 2a/3a, 2b/3b) with different time slot violation settings
-
Best result selection: Automatically selects the solution with the fewest vehicles and least orphan tasks
-
Fallback mechanism: If it fails, it can fall back to alternative optimizers
Process
-
Trigger: A cron job runs every 5 minutes to check for scheduled optimizations
-
Initial run: Launches the first optimization using the configured violation setting
-
Parallel runs: If needed, launches additional optimizations (2a/3a, 2b/3b) with different violation settings
-
Best solution: Selects the optimal result based on the number of vehicles and orphan tasks
-
Post-processing: Applies the results and sends a confirmation notification to your internal team
3. Configuration
Basic Settings
If activated: Go to Administration → Optimization → Optimization (make sure Advanced Mode is enabled):
-
Hubs: Select which hubs will use Robot Optimization
-
Target day: Days of the week when the optimization should run
-
Start time: When the automatic process begins (every 5 minutes)
-
Duration (minutes): Maximum allowed time for the optimization process
-
Days in advance: How many days in advance to optimize (e.g., 2 = optimize Wednesday’s tasks on Monday)
Time Slot Violation Settings
Configure three levels of violation:
-
Run 1 Violation Time: Maximum violation allowed for the first run
-
Run 2a/3a Violation Time: Violation settings for the second set
-
Run 2b/3b Violation Time: Violation settings for the third set
Time slot violation refers to how long after a time window a driver is allowed to arrive at a stop.
Additional Options
-
Validate rounds manually: Controls whether rounds need manual validation after optimization
4. Advanced Overview
The Robot Optimizer can be configured to start at any given time. However, the recurring job runs every 5 minutes — this is when the optimization actually starts.
It is ONLY AFTER the optimization finishes that the algorithm checks if the allowed duration was exceeded. If so:
-
No additional iteration is launched
-
The optimizer shares the best results from all completed runs (including the last one, even if it exceeded the set duration)
! So if a new iteration starts, the tool waits for it to complete before checking the total time.
! The optimization email is sent after that final iteration ends, not when the duration is exceeded (an iteration may last longer than the configured duration — in that case, we wait for it to finish).
Note: Based on observed data, a single optimization run usually takes about 7–10 minutes.
To realistically allow for at least 2 runs, set the Duration to 14–20 minutes.
For 3 iterations, the setting should be between 21–30 minutes.
5. Troubleshooting
Common Issue: Optimization appears stuck in processing
Solution:
-
Navigate to Optimizations → Advanced Mode, locate the hub and the optimization you want to investigate
-
Check the values set for Start time and Duration (minutes)
-
Calculate when the optimization is expected to finish
Example: Optimization configured with:
-
Start time: 05:07
-
Duration: 20 minutes
-
Three violation levels configured (meaning three optimization runs)
Expected timeline:
-
05:07: Configured start time
-
05:10: Cron job detects and starts optimization — 1st run begins
-
Duration of 1st run: 9 minutes
-
05:19: 1st run ends. Check: 20-minute limit not reached → launch 2nd run
-
05:19: 2nd run starts
-
Duration of 2nd run: 7 minutes
-
05:26: 2nd run ends. Still within the 20-minute limit (19 mins passed out of the 20 configured) → launch 3rd run
-
05:26: 3rd run starts
-
Duration of 3rd run: 7 minutes
-
05:33: 3rd run ends. Now the 20-minute limit has been exceeded
-
The optimization process ends, the best results are retrieved, and rounds are created accordingly. A confirmation email is sent.
For any questions on the functionalities above please reach out to your Customer Success Manager, respectively to the Support team for details.
Comments
0 comments
Please sign in to leave a comment.