TL;DR
- AI dispatching algorithms are the mathematical machinery that turns a queue of jobs and a roster of techs into an executable schedule — in seconds, not hours.
- Four cooperating layers do the work: vehicle routing solvers, constraint programming, machine learning predictors, and a real-time optimizer.
- Hard constraints (skills, shifts, equipment) filter the candidate pool. Soft constraints (drive time, workload, customer preference) generate penalty scores the optimizer minimizes.
- The system commits when the schedule is within ~2% of theoretical optimum — a 96%-optimal answer in seconds beats a perfect answer in minutes.
- FieldCamp ships the full four-layer pipeline as a single decision loop, with full dispatcher override on every assignment.
Every dispatcher who has ever stared at a board full of jobs knows the feeling — twelve things to assign, six techs, two emergencies, one tight SLA, and a coffee that went cold an hour ago. AI dispatching algorithms exist for exactly that moment. They are not “auto-scheduling.” They are the math underneath the schedule — four cooperating layers that filter, score, predict, and re-optimize every minute the day is running.
This guide walks through what an AI dispatch algorithm actually does on every job. The four layers. The hard-versus-soft constraint logic. The scoring dimensions. The fairness math. The machine learning loop. And the validation pipeline that decides whether your schedule is executable or just optimistic. Everything below maps to what the live FieldCamp AI Dispatcher runs in production — across HVAC, plumbing, electrical, pest control, and cleaning shops.
How AI Dispatching Algorithms Think
AI dispatching algorithms evaluate the entire day as one optimization problem — not one job at a time. Every candidate assignment is scored against every other plausible arrangement, and the configuration with the lowest total cost wins. The mental model is closer to a chess engine than a calendar.
This is why the system sometimes routes a job to a tech 18 minutes away when a closer one is available. The closer tech may carry overtime risk, lack a certification, or be the only person who can hit a tight window two stops later. The algorithm sees those downstream consequences before they happen.
Three principles drive the reasoning. First, filter before you score — eliminate any tech who breaks a hard rule before spending compute. Second, score globally, not locally — minimize total daily cost across the team, not the cost of one assignment. Third, commit when good enough — accept the first solution within ~2% of theoretical optimum and ship it. A 96%-optimal schedule in seconds beats a “perfect” one in minutes. For the wider AI Dispatcher product context, this is the engine sitting under the calendar.
The Four Algorithm Layers
Modern AI dispatching algorithms run four cooperating layers — vehicle routing, constraint programming, machine learning, and real-time optimization. Each one hands off to the next. Tools that ship only a calendar grid implement zero of these layers, which is why their “auto-scheduling” breaks by 10 AM.
1. Vehicle Routing Problem (VRP)
VRP determines the most efficient way for techs to complete jobs while respecting constraints. As job counts rise, route combinations explode — 50+ jobs create more possibilities than could be evaluated in a lifetime, which is why heuristic solvers are required. Variants in field service include CVRP (capacity-constrained), VRPTW (time-windowed), DVRP (dynamic real-time), and MVRP (multi-depot). The production routing engine ships as part of AI route optimization.
2. Constraint Programming

Constraint programming ensures schedules are operationally valid, legally compliant, and aligned with business priorities. Every scheduling rule is classified hard or soft. Hard constraints filter the candidate pool. Soft constraints generate penalty scores the optimizer minimizes.
3. Machine Learning
Machine learning improves the inputs the constraint and routing solvers depend on — duration estimates, no-show probability, and per-technician performance. ML does not replace the solver. It sharpens the data the solver uses.
4. Real-Time Optimization
Real-time optimization continuously recalculates when disruptions occur — tech delays, traffic shifts, emergency insertions, cancellations. Rather than rebuilding the day, the system adjusts only affected routes. The rest of the schedule stays pinned.
Hard vs. Soft Constraints (The Single Most Important Distinction)

Hard constraints are binary — pass or fail. A schedule that violates one is invalid. Soft constraints carry a numerical penalty the optimizer minimizes but can bend if necessary. Misclassifying soft constraints as hard is the single biggest reason “auto-scheduling” pipelines feel rigid and frustrating.
| Type | Examples | How the algorithm treats it |
|---|---|---|
| Hard | EPA 608 certification, shift boundaries, no overlapping jobs, equipment availability, territory restrictions | Filter — violator removed from candidate pool |
| Soft | Drive time, overtime, preferred tech, workload balance, customer time-window preference | Score — penalty added to total cost; optimizer minimizes |
The rule of thumb: make a constraint hard if breaking it would be illegal, unsafe, physically impossible, or contractually required. Make it soft if it represents a preference, efficiency target, or informal expectation. Treating “same-day service” as a hard constraint is a common, expensive mistake — it pushes too many jobs into the unscheduled queue. Convert it to a soft constraint with a high penalty weight (5,000–10,000), and the AI books it same-day when feasible without breaking the day when not.
Penalty weights tune as follows: 1–100 for minor preferences, 100–1,000 for moderate, 1,000–10,000 for strong, 10,000+ for near-hard. Start with defaults, run test schedules, review what feels wrong, adjust 50–100%, and re-test. Quarterly reviews keep weights aligned with seasonal demand. To project the dollar impact of tuning, the AI Dispatcher ROI calculator is the fastest way to model it.
See the Algorithm on Your Schedule
30 minutes. Bring your job list, your techs, your zones. We run FieldCamp side-by-side against your current dispatch and you see the score breakdowns live.
How the Scoring Engine Picks a Winner
The scoring engine evaluates every tech-to-job pairing across six dimensions, sums the weighted penalties, and picks the lowest total. Distance is one factor — never the deciding one. This is why an AI dispatch algorithm regularly picks a tech 18 minutes away over one 8 minutes away.
The six dimensions:
- Skill Match Strength — required certifications, experience with this job type, success rate on similar work.
- Travel Efficiency — drive time from current location, impact on subsequent jobs, total daily drive time.
- Workload Equity — current job count, hours worked today, overtime risk.
- SLA Risk — time window tightness, VIP customer status, penalty for missing windows.
- Customer Value — lifetime value, repeat status, premium service tier.
- Technician Preference — explicit customer request, history with the account, equipment familiarity.
Real trade-offs the engine resolves every minute: assign the experienced tech 18 minutes away over a closer novice, because expertise lowers callback probability. Route to the less-loaded tech farther away, because overtime cost exceeds fuel cost. Pick the reliable schedule over the shorter route when the SLA window is tight. When a tech runs 40 minutes late, reassign only the next stop — protect the time window without scrambling the rest of the day. The deeper per-assignment math lives in the sibling guide on how AI matches jobs to technicians.
KEY TAKEAWAY
Distance is one factor among six. The reason “send the closest tech” rules fail is they ignore certification, workload, SLA risk, customer value, and tech preference — every one of which can flip the right answer.
Priority: How the Algorithm Decides Which Job Wins
Priority is implemented as a multiplier on the SLA-risk and customer-value dimensions of the scoring function. A P0 emergency call carries a multiplier large enough to displace lower-priority jobs from a tech’s schedule. A P3 routine maintenance call carries a small multiplier that lets it be moved freely.
When two jobs compete for the same tech, the same window, or the same shared equipment, the algorithm applies a weighted comparison across SLA tier, recency of arrival, customer value, and cost of displacement. The higher-score job takes the resource. The loser is re-optimized into the next best slot — different tech, different day, or flagged for dispatcher review.
Four priority tiers cover most field service scenarios cleanly:
- P0 — Emergency. Life-safety, no-heat in winter, no-water, gas leak. Displaces everything except other P0s.
- P1 — Urgent. Same-day obligation, customer down, contractual SLA window. Displaces P2 and P3.
- P2 — Standard. Routine appointments booked in advance.
- P3 — Flexible. Maintenance and recurring visits — moves freely.
More than four tiers tends to confuse rather than clarify. Keep the tier system small. Let the SLA penalties carry the nuance. For pricing math on the upstream priority signal, see how to price HVAC jobs.
Fair Distribution: How the Algorithm Stops Overloading Star Techs
Pure travel-cost optimization has a known failure mode — it loads the same one or two techs with all the work because they happen to live in the dense part of the service area. Fair distribution algorithms encode the constraint that no tech should carry a disproportionate share of the day’s hours, callbacks, or undesirable jobs.
The system applies fairness as a soft constraint with a moderate-to-high penalty weight. Three signals drive it:
- Hours worked today. A tech with seven hours scheduled gets a lower score on additional jobs than a tech with four hours, even if the seven-hour tech is geographically closer.
- Job count. Independent of hours, raw appointment count matters — every truck-roll carries setup overhead.
- Job-mix balance. Over a week, the system tracks who is getting all the easy maintenance vs. all the dirty diagnostic calls, and corrects.
Across a 12-tech team, fair distribution typically produces 18% more even job allocation than proximity-only matching, with no measurable cost in drive time. This is also what stops dispatcher burnout in FieldCamp AI Dispatcher rollouts — when techs feel the load is balanced, they trust the system instead of fighting it.
The Machine Learning Layer: Sharpening Inputs Over Time
Machine learning does not replace the constraint solver — it improves the inputs the solver depends on. Better duration predictions, better no-show flags, better per-tech performance scoring. The result is a system that gets sharper every month, with no code changes.
Three ML models matter most:
- Duration prediction. Static estimates fail because a routine maintenance visit at a well-kept property takes 45 minutes — at a neglected one, four hours. Duration models weigh equipment age, tech experience, time of day, seasonality, and historical job data. Typical impact: ~40% reduction in schedule disruption versus static estimates.
- No-show risk assessment. Field service businesses lose 15–20% of scheduled appointments. ML flags first-time customers, 7+ day advance bookings, and historically risky time slots. Countermeasure: strategically double-book a backup low-priority job in the same area.
- Technician performance scoring. ML profiles techs across technical proficiency, customer service, operational efficiency, and revenue impact. Complex commercial work routes to high-performers, not the closest available tech.
The continuous learning loop runs in phases. Months 1–3: the system learns basic operational patterns. Months 4–6: predictions reach ~80% accuracy. Months 7–12: models hit 90%+. Year 2+: the system anticipates seasonal shifts proactively. For multi-day horizon planning that takes advantage of seasonality, capacity work continues inside job submission settings.
The Validation Pipeline (Six Steps, Every Job)

Every assignment passes through a six-step validation pipeline — feasibility filter, candidate pool, penalty scoring, optimal selection, and continuous re-validation. The whole loop runs in under a second per job, then runs again every minute the day is live.
- Job arrives. System reads skills, time window, equipment, priority.
- Rapid filter (50–100ms). Eliminates techs who violate hard constraints.
- Feasibility pool created. Remaining techs form the valid candidate set.
- Penalty scoring (200–500ms). Each candidate receives soft-constraint penalty scores across the six dimensions.
- Optimal assignment selected. Tech with the lowest total penalty wins.
- Continuous validation. Constraints re-validate as the day changes — every cancellation, every delay, every emergency.
When jobs pile up unassigned, the issue is almost never an algorithm bug — it’s capacity. Check skill scarcity (do only 1–2 techs hold the required cert?), equipment crunch, time-window mismatch, or constraint overload (too many rules classified hard). Most teams resolve unschedulable jobs in their first FieldCamp configuration pass.
WARNING
Misclassifying soft constraints as hard is the single biggest reason dispatch pipelines feel rigid. If your unscheduled queue keeps growing, audit your constraint list — chances are 2–3 “must-haves” are actually high-penalty soft constraints in disguise.
Stop Losing Jobs to Chaos
FieldCamp runs the full four-layer pipeline on your real jobs. You see score breakdowns, alternatives, and overrides on every assignment — not a black box.
How FieldCamp Implements the Algorithm Stack
FieldCamp’s AI Dispatcher runs the four layers as a single five-step pipeline — feasibility check, initial schedule, deep optimization, ML enhancement, and continuous real-time re-optimization. Every assignment surfaces the top three factors that drove the score, plus a list of alternatives that lost, so dispatchers see exactly why one tech won over another.
Step 1 — Feasibility (50–100ms): eliminates impossible matches against hard constraints. Step 2 — Initial Schedule (200–500ms): the constraint solver builds a rule-compliant skeleton. Step 3 — Deep Optimization (1–5s): the proprietary optimization engine minimizes total penalty across soft constraints. Step 4 — ML Enhancement (100–300ms): personalizes routes based on historical team performance and adjusts duration estimates. Step 5 — Real-Time Optimization (continuous): when disruptions hit, the system reshuffles only affected routes through the broader AI Command Center view.
Dispatchers stay in control. Every suggestion shows reasoning, confidence, and override paths through the live AI dispatch scheduling view, with cross-checks against the work order management queue. Trust the AI when the reasoning is sound — a higher-rated tech 18 minutes away usually beats the closer novice. Override when you have context the system lacks — a customer relationship, a tech having a bad day, equipment issues not yet logged.
Watch FieldCamp Save Hours Live
A 30-minute walkthrough on your dispatch day. We load your team, your jobs, your zones — and show you the optimized version next to what you ran last week.
Frequently Asked Questions
How do AI dispatching algorithms decide which technician gets a job?
The algorithm scores every available tech across six dimensions — skill match, travel efficiency, workload equity, SLA risk, customer value, and tech preference. The highest-scoring match that satisfies all hard constraints wins, balancing speed, first-time fix probability, and minimal disruption to the rest of the day.
What’s the difference between hard and soft constraints in dispatch algorithms?
Hard constraints cannot be violated — certifications, shift limits, equipment availability, territory rules. Breaking one makes the schedule invalid. Soft constraints carry penalty scores the optimizer minimizes — drive time, workload balance, customer preference. Hard constraints filter the candidate pool; soft constraints decide which feasible option wins.
Why does the AI sometimes assign a farther technician instead of the closest?
The algorithm evaluates the entire day, not one job in isolation. A farther tech may have the right certification, lower overtime risk, a better first-time fix rate on that job type, or an established relationship with the customer. Distance is one factor among six — never the deciding one.
How accurate are AI duration predictions?
Most teams see 70–80% accuracy in the first 60 days, climbing to 90%+ after the model adapts to specific job patterns, technician performance, and seasonal variation. The ML layer learns continuously — every completed job sharpens the next prediction.
How does the algorithm prioritize competing jobs?
Each job carries a priority tier (P0–P3) and an SLA penalty. When two jobs compete for the same tech or window, the algorithm picks the one with the higher weighted priority × SLA score and re-optimizes the loser into the next best slot — different tech, different day, or flagged for dispatcher review.
What stops the algorithm from overloading one technician?
Fair distribution applies a soft penalty for hours-worked imbalance, job-count imbalance, and job-mix imbalance across the team. The penalty grows steeply as one tech’s load exceeds the team average — pushing routine work toward whoever has capacity without breaking efficiency.
Why doesn’t the algorithm wait for a perfect answer?
Perfect optimization is computationally impossible with hundreds of variables. The algorithm commits when incremental improvement drops below 2% — delivering a 96%-optimal schedule in seconds rather than chasing a marginally better answer for minutes. Speed matters when the day is already running.
Continue Reading
- How AI matches jobs to technicians — the 8-dimension scoring breakdown.
- Capacitated vehicle routing — the CVRP variant for capacity-constrained fleets.
- AI route optimization explained — how routing turns assignments into drive sequences.
- What is an AI dispatcher — the foundational definition this guide builds on.
