{
  "options": {
    "routingEngine": "TOMTOM",
    "traffic": 1.2  // Traffic modifier for TOMTOM routing
  }
}

Stay updated with the latest enhancements, features, and improvements to the Solvice Vehicle Routing Problem (VRP) API. Each release brings new capabilities to help you optimize your routing operations more effectively.

Q2 2025
Enhanced preference systems and intelligent job handling

🎯 Resource Ranking System

Express nuanced preferences for resource-job assignments with our new flexible ranking system.

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.

{
  "jobs": [
    {
      "name": "pickup",
      "location": {"latitude": 51.1279, "longitude": 17.0485}
    },
    {
      "name": "delivery",
      "location": {"latitude": 51.1279, "longitude": 17.0485}  // Duplicate
    }
  ]
}

Perfect for:

  • 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 shifts
  • CAPACITY_EXCEEDED - Vehicle capacity insufficient
  • SKILL_MISMATCH - Required tags not available
  • DISTANCE_CONSTRAINT - Location outside service area
  • BREAK_CONFLICT - Mandatory breaks prevent service

⚖️ Job Complexity & Fair Distribution

Define job difficulty independent of duration to ensure fair workload distribution across your team.

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.

{
  "options": {
    "routingEngine": "TOMTOM",
    "traffic": 1.2  // Traffic modifier for TOMTOM routing
  }
}

Key Enhancements:

  • 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.

{
  "resources": [{
    "name": "Senior-Tech",
    "hourlyCost": 75
  }, {
    "name": "Junior-Tech", 
    "hourlyCost": 45
  }]
}

Optimization Strategies:

  • 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.

{
  "resources": [{
    "name": "Tech-1",
    "shifts": [{
      "from": "2025-01-01T08:00:00Z",
      "to": "2025-01-01T17:00:00Z",
      "breaks": [{
        "type": "UNAVAILABILITY",
        "from": "2025-01-01T10:00:00Z",
        "to": "2025-01-01T11:30:00Z",
        "location": {"latitude": 51.1079, "longitude": 17.0385}
      }, {
        "type": "WINDOWED",
        "from": "2025-01-01T12:00:00Z",
        "to": "2025-01-01T13:00:00Z", 
        "duration": 3600
      }]
    }]
  }]
}

Supported Break Types:

  • UNAVAILABILITY - Cannot be scheduled during this period
  • WINDOWED - Flexible timing within window
  • DRIVE - Mandatory after specified driving time
Q1 2025
New relation types and large-scale optimizations

🥇 First Job Relation

Force specific jobs to be scheduled first in a resource’s route with the new FIRST_JOB relation type.

{
  "jobs": [{
    "name": "warehouse-pickup"
  }],
  "relations": [{
    "type": "SEQUENCE",
    "jobs": ["warehouse-pickup"]
  }]
}

Common Use Cases:

  • 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 the GROUP_SEQUENCE relation.

{
  "jobs": [
    {"name": "urgent-1", "tags": [{"name": "priority-high"}]},
    {"name": "urgent-2", "tags": [{"name": "priority-high"}]},
    {"name": "normal-1", "tags": [{"name": "priority-normal"}]},
    {"name": "low-1", "tags": [{"name": "priority-low"}]}
  ],
  "relations": [{
    "type": "GROUP_SEQUENCE",
    "tags": ["priority-high", "priority-normal", "priority-low"]
  }]
}

Benefits:

  • 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.

Algorithm Enhancements:

  • Advanced nearest neighbor initialization
  • Parallel 2-opt and 3-opt local search
  • Adaptive neighborhood sizing
  • Memory-efficient distance matrix handling
  • GPU acceleration for distance calculations

Performance Gains:

  • 65% faster for 500+ job instances
  • 40% memory reduction
  • Better solution quality (+8% average)
  • Stable performance up to 10,000 jobs
Q4 2024
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%.

Real-World Results:

  • 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.

Configuration Example:

{
  "options": {
    "routingEngine": "TOMTOM",
    "traffic": 1.1  // Traffic multiplier
  }
}
Q3 2024
Extended planning horizons and synchronous processing

📅 Multi-Day Job Support

Execute long-duration jobs across multiple shifts and days with intelligent work continuation.

{
  "jobs": [{
    "name": "major-project",
    "duration": 72000,  // 20 hours total
    "resumable": true,
    "windows": [
      {"from": "2024-07-01T08:00:00Z", "to": "2024-07-01T17:00:00Z"},
      {"from": "2024-07-02T08:00:00Z", "to": "2024-07-02T17:00:00Z"},
      {"from": "2024-07-03T08:00:00Z", "to": "2024-07-03T17:00:00Z"}
    ]
  }],
  "resources": [{
    "name": "tech-1",
    "shifts": [
      {"from": "2024-07-01T08:00:00Z", "to": "2024-07-01T17:00:00Z"},
      {"from": "2024-07-02T08:00:00Z", "to": "2024-07-02T17:00:00Z"},
      {"from": "2024-07-03T08:00:00Z", "to": "2024-07-03T17:00:00Z"}
    ]
  }]
}

⚡ Synchronous API Endpoints

New /sync/* endpoints for immediate responses perfect for interactive applications.

Available Endpoints:

  • /sync/solve - Instant route optimization
  • /sync/evaluate - Real-time solution scoring
  • /sync/suggest - Live optimization hints

Key Features:

  • Sub-2 second response times
  • No webhook configuration
  • Automatic timeout handling
  • Perfect for UI integration

Synchronous endpoints have strict limits:

  • Maximum 50 jobs per request
  • 2-second timeout (configurable up to 5s)
  • Automatic fallback to async for larger problems
Q1 2023
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

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/v2

2

Review Breaking Changes

  • vehicle renamed to resource
  • timeWindow now 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

Subscribe to our RSS feed or follow @solvice_io for real-time updates about new features and improvements.