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
‼️Important: The timeout mechanism with automatic fallback to the backup optimizer only works for optimizations that are launched automatically by the robot optimizater.
If the optimization is launched manually before the scheduled time of the automatic optimizer, the behavior is different: the timeout is set to 2 hours, and there is no automatic switch to the backup optimizer in case of blockage.
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.