NextFSM

Route Optimizer

Configure the automatic route optimization algorithm

The Route Optimizer automatically schedules and sequences work orders to minimize travel time while respecting priorities and SLA deadlines. Configure the optimization parameters to match your business requirements.

How Optimization Works

The optimizer uses a penalty-based system to rank work orders. Jobs with higher penalties get scheduled first. The algorithm balances:

  • SLA deadlines - Urgent jobs scheduled before routine ones
  • Travel efficiency - Minimize driving between jobs
  • Customer appointments - Fixed times that cannot move
  • Job aging - Older jobs become more urgent

Fixed Appointments

Work orders with confirmed customer appointment times receive a very high penalty to ensure they are never dropped or moved. The Drop Penalty value should be set extremely high (default: 10,000,000) to guarantee these jobs always get scheduled.

SLA Priority Levels

Configure how the optimizer handles jobs based on time until SLA deadline:

Critical (< 2 hours)

Jobs about to breach SLA. Highest priority, scheduled immediately.

Urgent (< 4 hours)

Jobs approaching deadline. High priority scheduling.

Important (< 8 hours)

Jobs with comfortable buffer. Standard priority.

Normal (8+ hours)

Jobs with plenty of time. Lower priority, can wait.

Each level has:

  • Time threshold - Hours until SLA breach
  • Multiplier - Priority weight for the optimizer

Higher multipliers mean higher priority. Adjust these to control how aggressively the optimizer prioritizes urgent work.

Breached SLA Penalty

Jobs that have already missed their SLA deadline receive a large penalty to ensure immediate scheduling. This prevents overdue jobs from being repeatedly delayed.

Flexible Jobs (FLEX)

FLEX jobs have no fixed appointment time. The customer is available anytime during working hours. Configure base penalties by priority:

  • P1 Base - High priority flex jobs
  • P2 Base - Medium priority flex jobs
  • P3 Base - Low priority flex jobs

Job Aging

Flex jobs become more urgent over time:

  • Aging Multiplier - How quickly priority increases per day
  • Max Aging Days - Days until aging stops increasing

Example: A P2 job with 2500 base penalty and 1.5× aging becomes priority 3750 after 1 day.

Maintenance Jobs

Scheduled maintenance from contracts. Similar priority system to FLEX:

  • P1/P2/P3 Base penalties - Priority weights
  • Aging Multiplier - Priority increase per day
  • Max Aging Days - Aging cap

Maintenance typically uses higher base penalties than FLEX since these are contractually required services.

Travel Cost Weights

Balance time vs distance when calculating route efficiency:

Time Weight

Multiplier for travel time in seconds. Higher values prioritize shorter drive times.

Distance Weight

Multiplier for travel distance in meters. Higher values prioritize shorter distances.

The optimizer calculates route cost as:

Arc Cost = (time × time_weight) + (distance × distance_weight)

Example: 45 min drive (2,700s) + 50 km

  • Time weight 1.5: 2,700 × 1.5 = 4,050
  • Distance weight 0.01: 50,000 × 0.01 = 500
  • Total arc cost: 4,550

Re-optimization Settings

Control how the optimizer handles already-scheduled jobs:

Freeze Window

Jobs starting within this time window cannot be moved. Prevents last-minute schedule changes.

Example: 2-hour freeze means jobs starting in the next 2 hours stay locked.

Firm Zone Multiplier

Penalty multiplier for moving jobs in the "firm" zone (between freeze window and next optimization). Higher values make the optimizer more reluctant to move upcoming jobs.

Simulator

Test your configuration before saving. Access the Simulator to:

  • Preview optimization results with current settings
  • Compare different configurations
  • Verify priority ordering works as expected
  • Test edge cases before production use

Best Practices

  1. Start with defaults - The default values work well for most organizations
  2. Adjust SLA thresholds - Match your actual SLA terms (e.g., 4-hour vs 8-hour)
  3. Balance priorities - Ensure FLEX and MAINTENANCE penalties don't overshadow SLA urgency
  4. Test in simulator - Always test changes before applying to live routes
  5. Monitor results - Review optimization outcomes and adjust as needed