vrp
vrp copied to clipboard
Add feature to balance shifts across vehicles
PR Summary
This PR adds workload balancing across vehicles, not just across tours. In many real-world cases (e.g. hourly field technicians), a vehicle/employee has a fixed number of available shifts per month. The cost-optimal solution can assign very few tours (e.g. 2 out of 21 shifts), making the job financially unviable and causing staff churn.
To address this, the PR adds a new secondary objective that minimizes the variance of:
assigned_tours / available_shifts
This encourages a fairer distribution of work across all vehicles while still respecting the primary cost objective.
This is a first simple approach to vehicle-level equity, and I’m open to further improvements or alternative balancing metrics.