FSM Route Optimisation Concepts


FSM Optimisation.png

The Route Optimisation Engine is used within the FSM platform to automatically determine the most efficient way to schedule and route technician work orders. The optimisation engine purpose is to help:

  • Minimise technician travel time and distance
  • Maximise the number of jobs completed per day
  • Ensure high-priority and appointment-based work orders are scheduled appropriately
  • Respect the technicians working hours and scheduling constraints
  • Improve field service productivity and response times

The routing engine uses geographic location data, technician availability, and job priority to generate optimised schedules.

Key Concepts

TermDescription
Work OrderThe set task that must be completed by a technician.
VisitA scheduled instance of a work order at a specific time.
Route OptimisationThe process of determining the most efficient order in which a technician should complete assigned work orders.
Travel TimeThe estimated time required to travel between two locations.
DistanceThe estimated distance between two locations.
AppointmentA work order that must occur at a fixed or preferred time window.
CarryoverA configuration allowing work orders to span multiple visits across multiple days.
Scheduling HorizonThe maximum number of days the optimiser will consider when scheduling work orders.

Components of the Routing System

The routing system consists of several services that work together to support route planning and scheduling.

TSP Route Solver

The Travelling Salesman Problem (TSP) is a classic optimisation problem in which a salesman must visit a list of locations exactly once and return to the starting point while minimising the total travel distance or time. 

The challenge here is determining the most efficient route among many possible combinations, which increases rapidly as the number of locations grows. In field service management systems, TSP algorithms are used to optimise technician routes by ordering work orders in a way that reduces travel time, improves productivity, and ensures scheduling constraints such as working hours and priorities are respected.

The Travelling Salesman Problem (TSP) Route Solver determines the most efficient sequence of work orders for a technician.

Function

The solver receives a list of work orders and returns an optimized route including:

  • Scheduled start time
  • Scheduled end time
  • Distance between sites
  • Travel time between sites

The goal is to minimise travel time while respecting scheduling constraints.

Scheduling RulesThe solver considers the following factors:
Working Hours:

Work orders must be scheduled between:

  • DayStartTime
  • DayEndTime
Example:ParameterValue
DayStartTime08:00
DayEndTime17:00
Scheduling Horizon:

If work orders cannot fit within a single day:

  • Scheduling can extend to the next available day
  • The number of future days considered depends on the maximum days parameter
Carryover Option:

If enabled:

  • Work orders that cannot be completed in one visit can be split into multiple visits across different days.
Example:Work OrderDurationResult
8 hour jobOnly 4 hours available todaySplit across 2 days
Priority Optimisation:

If enabled, work orders are scheduled according to priority:

  • Critical
  • High
  • Medium
  • Low

Higher priority jobs are scheduled first.

Appointments:

Appointments always receive the highest scheduling priority.

Appointments must be scheduled within their defined time window.

Weekend Scheduling:

The system can be configured to:

  • Include weekends in scheduling
  • Exclude weekends entirely
Holiday Handling:

A list of holidays can be provided to the optimiser.

If a day is marked as a holiday:

  • Work orders will not be scheduled on that date.
Timezone Handling

A timezone parameter ensures that:

  • Scheduled start and end times are accurate
  • Technician local time is respected.

This is important when technicians operate across multiple regions.

Unreachable Sites

If a site cannot be reached from the technician’s starting location, it will be returned in an Unreachable Sites List.

This list helps administrators troubleshoot issues such as:

  • Incorrect addresses
  • Invalid coordinates
  • Mapping errors

Route Planning Service

The Route Planning Service calculates travel metrics for a list of sites.

Function

The service receives:

  • A list of site locations

It returns:

  • Optimised travel sequence
  • Travel time between sites
  • Travel distance
  • Total route duration
  • Total route distance

This service is typically used for planning routes without performing full work order scheduling.

Geolocation Services

The routing engine relies on geolocation services to convert addresses and coordinates.

Get Coordinates - This service converts an address into geographic coordinates.
Currently this service uses Google Maps for geocoding.InputOutput

Address information such as:

  • Street
  • City
  • Postal code
  • Country
  • Latitude
  • Longitude
Get Location Address - This service performs the reverse operation.
This function also uses Google Maps.InputOutput
  • Latitude
  • Longitude
  • Street address
  • City
  • Country

Agent Matrix Service

The Agent Matrix service calculates travel time from multiple technicians to a specific site.

FunctionInputOutput
This allows the system to determine which technician can reach the site fastest.
  • List of technicians
  • Current technician locations
  • Target site location
  • Travel time from each technician to the site

Inputs Required for Optimisation

For route optimisation to function correctly, the following information must exist:

InputDescription
Work OrdersJobs requiring scheduling
Site AddressLocation where the work must occur
Technician LocationStarting location of the technician
Work DurationEstimated time required to complete the job
Technician Working HoursTechnician availability
PriorityJob priority level
Appointment WindowFixed scheduling requirement (if applicable)

Incomplete or inaccurate data may prevent proper optimization.

Dispatcher Workflow

The typical route optimisation workflow consists of these steps:

  1. Dispatcher reviews unassigned work orders.
  2. Work orders are grouped by region or technician.
  3. The route optimisation engine is executed.
  4. The system generates an optimised schedule.
  5. The dispatcher reviews the schedule.
  6. Adjustments can be made if required.
  7. Work orders are confirmed and dispatched to technicians.

Handling Scheduling Exceptions

The system may encounter scenarios where work orders cannot be scheduled.  Examples could include:

ScenarioResult
Work order exceeds technician capacityScheduled on a future day
Site cannot be reachedReturned in unreachable sites list
Technician working hours exceededWork order postponed
Missing coordinatesWork order cannot be routed

Dispatchers should review exception results before finalising schedules.

Configuration Parameters

Several parameters control the behaviour of the routing engine.

ParameterDescription
DayStartTimeStart of technician working day
DayEndTimeEnd of technician working day
Maximum Scheduling DaysNumber of future days considered
Carryover EnabledAllow work orders to span multiple days
Exclude WeekendsPrevent weekend scheduling
Holiday ListPrevent scheduling on specified holidays
Priority OptimizationEnable priority-based scheduling

These settings are normally configured by system administrators.

Mapping Providers

The routing system currently integrates with external mapping services.

ProviderFunction
Google MapsAddress geocoding and reverse geocoding
ORS Server (OpenRouteService)Alternative routing engine

Future enhancements may allow administrators to select the routing provider.

Planned Enhancements

The following improvements are planned for future releases:

Routing Enhancements
  • Allow each day to have its own start and end time
  • Improve timezone calculation accuracy
Mapping Enhancements

Allow the system to use either:

  • Local ORS server
  • Online ORS server
Route Planning EnhancementsAbility to calculate travel time without changing site order
Geolocation EnhancementsAllow ORS server to perform geocoding instead of Google Maps
Agent Matrix EnhancementsBetter handling of technicians that cannot reach a site, without affecting optimisation results

Troubleshooting

Common routing issues and possible causes:

IssuePossible Cause
Site unreachableInvalid coordinates or address
Incorrect travel timeMapping provider error
Work order not scheduledInsufficient technician capacity
Time conflictsAppointment constraints
Incorrect schedule timesTimezone configuration issue

Conclusion

Route optimization is a key capability of the FSM platform, enabling organisations to efficiently schedule and dispatch work orders while minimising travel time and maximising technician productivity. By using routing mechanisms focusing on the Travelling Salesman Problem, the system evaluates multiple scheduling factors, including technician availability, work order priority, travel distance, and appointment constraints to produce optimised daily routes. When properly configured and supported with accurate location and scheduling data, the routing engine helps dispatchers make informed decisions, improves service delivery times, and ensures technicians can complete the maximum number of jobs within their working hours. 

 

 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*

BMC Helix Field Service Management 26.2