Resource Scheduling Optimization (RSO)

How Microsoft's Resource Scheduling Optimization works for Dynamics 365 Field Service and Project Operations — the AI scheduling engine and operational realities.

Updated 2026-05-28

Resource Scheduling Optimization (RSO) is the AI-driven scheduling engine for Dynamics 365 Field Service and Project Operations. It takes the human-intensive task of assigning work orders to technicians (or project tasks to consultants) and runs it as an optimisation problem, producing schedules that respect skills, calendars, travel time, SLAs, and many other constraints — at a speed and quality humans can't match for fleets above a few dozen resources.

The optimisation problem. Given:

  • N work orders (or project assignments), each with required skills, location, duration, time window, priority, SLA.
  • M resources, each with skills, calendar, working location, working hours.
  • Travel time between locations.
  • Constraints — overtime allowed?, regulations on driving time?, preference for same technician returning?

…find the assignment of work orders to resources, in what order, with what start times, that maximises a multi-objective goal: meet SLAs, minimise travel, maximise utilisation, respect priorities. This is an NP-hard combinatorial problem; humans solve it heuristically (and badly at scale); RSO solves it computationally.

The optimisation engine. Microsoft's RSO uses heuristic optimisation algorithms with configurable weights. The optimisation objectives are user-configurable: e.g. "75% meet SLA, 20% minimise travel, 5% maximise utilisation". Adjusting weights changes the schedule's character — high SLA weight pushes urgent jobs to the front even at the cost of more travel; high utilisation weight squeezes more jobs into fewer days.

Optimisation scope. Each RSO run is configured with:

  • Schedule range — the time horizon to optimise (next 7 days is common).
  • Resource pool — which resources are eligible.
  • Work order pool — which orders to schedule (typically all unscheduled + reschedulable).
  • Constraints — must-respect rules (skill match, customer preference, geographic boundary).
  • Objectives and weights — what to optimise for.

Running RSO. A run is launched manually by a dispatcher or scheduled on a recurring basis (e.g. nightly run for the next day's plan). Results are previewed in the schedule board before being committed; dispatchers can selectively accept, reject, or modify.

Live re-optimisation. Beyond scheduled runs, RSO supports real-time optimisation triggered by events — a new high-priority work order arrives, a technician calls in sick, traffic delays push back the morning route. RSO recomputes the affected slice and proposes adjustments.

Constraints — the configuration depth. RSO supports dozens of constraints:

  • Skill match (required vs preferred, proficiency level)
  • Customer preferences (preferred technician, blacklisted technician)
  • Geographic boundaries (driving distance limits, route territories)
  • Resource time windows (working hours, breaks, lunch, end-of-shift home location)
  • Multi-day jobs spanning days
  • Crew jobs requiring multiple technicians
  • Customer arrival windows (commit to 2-hour window, not just "today")
  • Inventory on truck (technician must have the right parts)
  • Travel mode (driver-bound vs flying)

Operational realities.

  • RSO produces dramatically better schedules than manual at scale (50+ resources). The gain is real — first-time-fix rate, on-time arrival, technician utilisation all improve materially.
  • RSO requires clean underlying data. Wrong skills, wrong calendars, wrong locations on resources sabotage the engine.
  • RSO is part of the broader Field Service licence; check the SKU when planning.

Limits. Very large fleets (1,000+ resources) or unusual industry constraints sometimes need partner schedulers (ClickSoftware, IFS, ServicePower) integrated alongside or in place of RSO.

Where to start. Pilot RSO with a single team or region. Measure travel reduction and SLA meet rate. Tune objective weights against business priorities. Expand.

Related guides