Resource Management
Configure vehicles, drivers, and teams with advanced constraints and optimization
Resource Management
Resources represent the vehicles, drivers, or teams that execute your routes. This guide covers advanced resource configuration including multi-shift scheduling, workload balancing, period constraints, and geographic restrictions.
Basic Resource Configuration
Every resource requires at minimum a name and shift definition:
Essential Resource Properties
Unique identifier for the resource
Working periods when the resource is available
Loading capacity in multiple dimensions (e.g., [weight, volume])
Skills, certifications, or capabilities
Geographic areas where resource can operate
Multi-Shift Resources
Resources can work multiple shifts per day or across different days:
Each shift can have different start/end locations. This is useful for drivers who:
- Start from home in the morning
- End at a depot
- Continue from previous day’s end location
Shift Properties
Shift start time (ISO 8601 format)
Shift end time
Starting location for this shift (defaults to first job location)
Ending location for this shift (defaults to last job location)
Latest possible end time with overtime penalty
Scheduled breaks during the shift
Period Constraints
Control resource utilization over time periods (day, week, month):
Available Period Rules
Total time from shift start to end, including breaks
Total time from shift start to end, including breaks
Actual driving/travel time only
Productive time spent at job locations
Period Types:
DAY
: Rolling 24-hour periodWEEK
: Rolling 7-day periodMONTH
: Rolling 30-day period
Workload Balancing
Distribute work fairly across resources:
Fair Workload Per Resource
Balance total work time across all resources:
How it works:
- Calculates average workload across all resources
- Penalizes deviations from the average
- Higher weight = stronger preference for balance
Fair Workload Per Trip
Balance work within individual trips/routes:
Use cases:
- Ensure lunch breaks fall at reasonable times
- Prevent very short or very long individual routes
- Balance morning vs afternoon workloads
Geographic Restrictions
Region-Based Assignment
Limit resources to specific geographic areas:
Jobs with regions can ONLY be assigned to resources that include that region in their regions list.
Distance-Based Restrictions
Limit how far resources travel from their base:
Skill and Tag Management
Match resource capabilities with job requirements:
Tag Matching Rules
Hard Tags Must Match
If a job has a hard tag, only resources with that tag can be assigned
Soft Tags Preferred
Soft tags create preference but aren’t required
Weight Controls Strength
Higher weight values make soft preferences stronger
Preferred Resources
Allow soft preferences for specific resource assignments:
Resource Assignment Priority:
allowedResources
- Hard constraint (if specified)preferredResources
- Soft preference with penalty- Tag matching - Based on hard/soft tags
- General pool - Any available resource
Complex Example: Field Service Team
Here’s a comprehensive example combining multiple resource features:
Performance Optimization
Resource Pool Size
Performance Impact of Resource Features:
- More resources = more routing possibilities
- Complex constraints = longer solve times
- Many tags/regions = increased matching complexity
Recommendations:
- Keep active resource pool under 100 for real-time solving
- Use shift patterns to reduce combinations
- Limit tag variations to necessary distinctions
Best Practices
Start Simple
Begin with basic resource definitions and add constraints incrementally
Use Appropriate Constraints
- Hard constraints for legal/safety requirements
- Soft constraints for preferences
- Period rules for compliance
Test Resource Utilization
Monitor these metrics:
- Average utilization per resource
- Overtime frequency
- Unassigned jobs due to resource constraints
Balance Flexibility and Control
Too many restrictions can make problems infeasible
Troubleshooting
Common Issues
Jobs Not Assigned to Preferred Resources
Jobs Not Assigned to Preferred Resources
Possible Causes:
- Preferred resource doesn’t have required tags
- Resource shift doesn’t cover job time window
- Capacity constraints prevent assignment
- Travel time makes assignment inefficient
Solutions:
- Verify resource has all required capabilities
- Check shift coverage and time windows
- Increase preferredResourceWeight
- Review overall constraint interactions
Uneven Workload Distribution
Uneven Workload Distribution
Possible Causes:
- Geographic clustering of jobs
- Skill requirements limiting options
- Time window constraints
- Different shift lengths
Solutions:
- Increase fairWorkloadPerResource weight
- Adjust shift patterns for better coverage
- Consider redistributing regions
- Add more flexible resources
Period Constraints Violated
Period Constraints Violated
Possible Causes:
- Constraints too restrictive
- Not enough resources for workload
- Poor shift distribution
Solutions:
- Review and adjust period rule values
- Add additional resources or shifts
- Enable partial planning
- Distribute work across more days