Cost model parity, flexible break locations, and depot warm-starts
πΆ Cost Model & Weights Parity
Thecosts and weights optimization models now cover the same ground, so you can express every trade-off in whichever style you prefer.- New Cost Fields
- New Weight Fields
depotCost- cost per depot visit, controlling the trade-off between routing efficiency and depot costdepotEndCost- cost for ending a route at a depot
- Mix and match cost- and weight-based tuning across different parts of your configuration
- Fine-tune overtime, preferred-resource, and region trade-offs without switching optimization models
π« Flexible Unavailability Break Locations
Unavailability breaks can now use separatestart and end locations instead of a single fixed location.- Drop a vehicle at a depot for a training session and pick up a different one afterwards
- Model shift changes or vehicle swaps that occur mid-route
The existing single
location field still works for breaks that start and end in the same place, but cannot be combined with start/end.π Depot Warm-Starts & Visible Depot Stops
Pin a job to be followed by a specific depot visit with the newinitialDepot field, and see depot stops clearly marked in the response."activity": "DEPOT", so maps and polylines can render them accurately alongside regular pickups and deliveries.Use Cases:- Warm-start the solver with a known depot preference for a job
- Render depot stops distinctly on maps and timelines
initialDepot requires depots to be defined in the request.Depot management and pooled resource rules
π Depot Management Suite
A set of new capabilities for routing problems that involve loading, unloading, and disposal sites (waste collection, distribution, returns).- Unload Before End of Shift
- Depot End Weight
- Smarter Depot Moves
Force a resource to visit a depot to unload its remaining load before finishing its shift.The
unloadBeforeEndShift flag only fires when the vehicle still carries non-zero load at the end of its route, and only when depots are configured. Without it, a vehicle may end its shift while still loaded.π₯ Pooled Resource Period Rules
Period rules (work time, service time, drive time, complexity, and job-type limits per period) can now be shared across a pool of resources using agroupTag.groupTag is set, the limit becomes a single shared bound across every resource that declares an identical rule (same period and fields) with that tag β instead of applying per resource.Use Cases:- Cap how many of a job type a team collectively handles per week
- Share a contractor budget across multiple vehicles
- Pool drive-time or complexity limits across a crew
Duty breaks, partial sequencing, and per-suggestion explanations
β Duty Breaks
A newDUTY break type triggers a mandatory break after a cumulative amount of work time (drive + service), complementing the existing DRIVE break (which counts driving time only).π True Partial Planning for SEQUENCE
SEQUENCE relations now support genuine partial planning β when some jobs in a sequence canβt be assigned, the solver still optimizes the order of the jobs that can be, instead of penalizing the whole relation.π Explanations Per Suggestion
The suggest endpoint can now return a full explanation for each individual suggestion, so you can see exactly why a proposed change scores the way it does β not just the final recommendation.π·οΈ Request Metadata
Attach arbitrarymetadata to any request and have it echoed back on the response β handy for correlating jobs with your own systems.Curbside-aware routing
π» Curbside Routing
Enable curbside-aware routing so vehicles approach each location from the correct side of the road.- Waste collection on residential streets
- Right-hand/left-hand-side pickups and drop-offs
- Any operation where the approach side matters for safety or access
Cost-based optimization
πΆ Cost-Based Optimization
Optimize routes directly in monetary terms instead of tuning abstract weights. Provide acosts configuration and the solver derives its internal weights from your real business costs in EUR/USD.- Costs are more intuitive than manual weight tuning β they map to real business expenses
- Covers driving, waiting, overtime, distance, time-window violations, preferred-resource and skill/ranking violations, workload imbalance, region adherence, and resource activation
- If both
costsandweightsare provided,coststake precedence
- Report optimization results in real currency
- Align routing trade-offs with actual P&L
- Compare scenarios by total operating cost
AI-assisted routing with MCP integration
π€ MCP Server Integration (AI-Assisted Routing)
Connect AI assistants directly to the VRP solver through the Model Context Protocol (MCP).- Overview
- Use Cases
The MCP server exposes 8 action tools that AI assistants can use to solve routing problems:
vrp-solve/vrp-solve-sync- Full route optimizationvrp-evaluate/vrp-evaluate-sync- Score existing solutionsvrp-suggest/vrp-suggest-sync- Get improvement suggestionsvrp-change/vrp-change-sync- Apply incremental changes
- Natural language problem description
- Real-time streaming via SSE transport
- AI understands constraints and trade-offs
- Interactive route refinement
Skill-based duration adjustments
β‘ Proficiency-Based Duration Modifier
Adjust job durations based on resource skill levels.- Concept
- Configuration
Different resources complete the same job at different speeds. A senior technician might finish an installation in 30 minutes while a junior takes 45 minutes.Proficiency modifies the base job duration without changing the job definition.
Return-to-depot optimization
π Last Location Drive Time Optimization
Improved constraint ordering for efficient return-to-depot routing.The solver now better considers travel time from the last job back to the resourceβs end location when ordering constraints, ensuring routes donβt end far from the depot.How it works:- Automatically factors in return travel when comparing route options
- Penalizes routes that end geographically far from the depot
- Works with existing
driveTimeWeightfor consistent optimization
- Prevents routes ending far from depot
- Reduces dead-heading at end of day
- Better overall route efficiency
- No configuration needed - automatically applied
Clustering, distance limits, and debugging tools
π Geographic Clustering & Job Proximity
Improve route compactness with intelligent job proximity scoring.- Reduces backtracking between distant jobs
- Creates more geographically compact routes
- Configurable weight to balance with other objectives
- Better cluster assignment for multi-vehicle problems
π· H3 Grid System for Geographic Clustering
Leverage Uberβs H3 hexagonal grid system for precise geographic clustering via the clustering endpoint.π Maximum Drive Distance
Limit total kilometers per resource shift.- Vehicle range limitations (EVs)
- Company policy compliance
- Lease mileage restrictions
- Driver safety regulations
π Debug Endpoint
New/debug endpoint for troubleshooting solver behavior.- Internal solver state
- Constraint violation details
- Score breakdown
- Shadow variable values
- Diagnostic information for support tickets
Relation weight customization
βοΈ Custom Relation Weights
Fine-tune the importance of individual relations with custom weight modifiers.- Prioritize certain relations over others
- Make critical sequences non-negotiable (high weight)
- Allow flexibility on less important pairings (low weight)
- Balance relation penalties with other optimization objectives
Custom maps and relation constraints
πΊοΈ External Distance Matrices
Use pre-computed distance matrices from external services with time-of-day traffic patterns.External distance matrices allow you to provide custom travel time and distance data instead of relying on built-in routing engines. This is perfect for:- Faster Processing: Skip real-time distance calculations using pre-computed matrices
- Custom Traffic: Use your own traffic data or specialized routing services
- Time-Based Routing: Different matrices for morning rush, midday, evening periods
- Vehicle-Specific: Separate matrices for cars, trucks, bikes with their unique constraints
- Enterprise Integration: Seamlessly integrate with existing routing infrastructure
βοΈ Hard Minimum Wait for Job Relations
Fine-tune constraint strength for job relations with thehardMinWait flag.hardMinWait: true (default), the minimum time interval becomes a hard constraint that cannot be violated. Set to false to make it a soft preference that can be traded off against other objectives.Use Cases:- Mandatory cooling/drying periods between services
- Required waiting time for concrete curing, paint drying
- Compliance with safety regulations
Enhanced preference systems and intelligent job handling
π― Resource Ranking System
Express nuanced preferences for resource-job assignments with our new flexible ranking system.- Overview
- Implementation
- Use Cases
The ranking system allows you to specify preferred resources for each job on a 1-100 scale, where lower values indicate stronger preference.Key Benefits:
- Implement customer preferences without hard constraints
- Balance skill levels across assignments
- Optimize for service quality alongside efficiency
- Maintain flexibility in resource allocation
Rankings work alongside existing constraints like tags and regions. They provide soft preferences that the optimizer considers when making assignments.
π Location Inheritance
Simplify multi-stop scenarios where jobs share locations through automatic location inheritance.- Pickup and delivery pairs
- Multi-service appointments at same address
- Loading/unloading operations
- Any co-located job sequences
π Enhanced Unassigned Job Explanations
Get detailed, actionable insights when jobs cannot be assigned to understand exactly why and how to resolve issues.Common Unassignment Reasons:DATE_TIME_WINDOW_CONFLICT- No overlap between job window and shiftsTRIP_CAPACITY/RESOURCE_CAPACITY- Vehicle capacity insufficientTAG_HARD/TYPE_REQUIREMENT- Required tags not availableMAX_DRIVE_DISTANCE- Location outside service area
βοΈ Job Complexity & Fair Distribution
Define job difficulty independent of duration to ensure fair workload distribution across your team.- Concept
- Configuration
- Benefits
Job complexity represents the mental, physical, or technical difficulty of a task, separate from how long it takes.Examples:
- Simple delivery: Duration 30min, Complexity 20
- Complex installation: Duration 30min, Complexity 80
- Heavy lifting: Duration 15min, Complexity 70
π¦ Full TomTom Traffic Integration
Enhanced real-time and predictive traffic routing with complete TomTom API integration.- Live Traffic: Real-time congestion avoidance
- Predictive Routing: Historical patterns for future planning
- Departure Optimization: Find best start times to avoid traffic
- Vehicle-Specific Routes: Truck restrictions and clearances
- 15% Average Time Savings: Compared to static routing
π° Resource Hourly Wage Optimization
Optimize routes considering different hourly rates to balance service quality with labor costs.- Assign simple tasks to lower-cost resources
- Use senior staff for complex/critical jobs
- Minimize overtime by balancing workloads
- Consider total cost including travel time
π« Unavailability Breaks
Model realistic schedules with unavailability periods for meetings, training, or personal time.UNAVAILABILITY- Cannot be scheduled during this periodWINDOWED- Flexible timing within windowDRIVE- Mandatory after specified driving time
New relation types and large-scale optimizations
π₯ First Job Relation
Force specific jobs to be scheduled first in a resourceβs route by submitting aSEQUENCE relation with a single job ID. When a SEQUENCE relation contains only one job, the solver pins that job to be scheduled first, rather than requiring a separate relation type.- Warehouse pickups before deliveries
- Equipment collection at start of day
- Mandatory briefings or check-ins
- Load vehicles before service rounds
π€ Group Sequence Relations
Define execution order between groups of jobs using tags with theGROUP_SEQUENCE relation.- Implement service level agreements
- Handle emergency vs routine work
- Manage phased operations
- Prioritize revenue-generating activities
π Large-Scale TSP Optimizations
Significant performance improvements for Traveling Salesman Problem instances with 100+ stops.- Improvements
- Configuration
- Best Practices
Algorithm Enhancements:
- Advanced nearest neighbor initialization
- Parallel 2-opt and 3-opt local search
- Adaptive neighborhood sizing
- Memory-efficient distance matrix handling
- 65% faster for 500+ job instances
- 40% memory reduction
- Better solution quality (+8% average)
- Stable performance up to 10,000 jobs
10,000+ job support and dynamic traffic routing
π Enterprise-Scale Problem Handling
Revolutionary improvements for handling massive routing problems with 10,000+ jobs.1
Intelligent Chunking
Dynamic partitioning based on geographic clusters and time windows for optimal sub-problem creation.
2
Parallel Processing
Multi-threaded execution with smart work distribution across CPU cores.
3
Adaptive Algorithms
Automatic algorithm selection based on problem characteristics and size.
4
Memory Optimization
Streaming distance calculations and compressed data structures reduce memory by 60%.
- Before: 5,000 job limit, 45-minute processing
- After: 50,000 jobs supported, 15-minute average
- Quality: Maintained 98%+ optimality
- Stability: 99.9% completion rate
πΊοΈ TomTom Traffic Integration
Time-dependent routing with real-world traffic conditions for accurate ETAs and optimal departure times.How It Works
How It Works
The solver now uses a three-dimensional distance cube (origin Γ destination Γ time) instead of a static two-dimensional matrix:
- Morning Rush (6-9 AM): Increased travel times on highways
- Midday (9 AM-4 PM): Normal traffic conditions
- Evening Rush (4-7 PM): City center congestion
- Night (7 PM-6 AM): Reduced traffic, faster routes
- Adjusts departure times to avoid traffic
- Reroutes around predicted congestion
- Updates ETAs based on time of day
- Balances traffic avoidance with service windows
Extended planning horizons and synchronous processing
π Multi-Day Job Support
Execute long-duration jobs across multiple shifts and days with intelligent work continuation.β‘ Synchronous API Endpoints
New/sync/* endpoints for immediate responses perfect for interactive applications.- Overview
- When to Use
- Example
Available Endpoints:
/sync/solve- Instant route optimization/sync/evaluate- Real-time solution scoring/sync/suggest- Live optimization hints
- Sub-2 second response times
- No webhook configuration
- Automatic timeout handling
- Perfect for UI integration
Complete architectural overhaul
π VRP API v2 Release
After 2 years of development, v2 brings a complete architectural redesign focused on scalability, reliability, and performance.Architecture Evolution
- Infrastructure
- Performance
- API Enhancements
From Kubernetes to Serverless:
- Google Cloud Run for auto-scaling
- Cloud Pub/Sub for async processing
- Cloud Storage for results
- 90% reduction in operational overhead
- 99.99% uptime SLA
Migration Guide
1
Update Base URL
Change from
api.solvice.io/v1 to api.solvice.io/v22
Review Breaking Changes
vehiclerenamed toresourcetimeWindownow supports arrays- New required fields in response
3
Test Thoroughly
Use our migration validator endpoint to check your requests
4
Gradual Rollout
Run v1 and v2 in parallel during transition
Success Story: Major logistics provider migrated 50,000 daily optimizations to v2 with zero downtime and 35% cost reduction.
Stay Updated
API Reference
Detailed documentation for all endpoints
Migration Guide
Step-by-step v1 to v2 migration
Feature Guides
In-depth guides for each feature
Release Notes
Detailed technical release notes
Subscribe to our RSS feed or follow @solvice_io for real-time updates about new features and improvements.