Solver as a Service
Sign Up Now →Sign Up Now

Field Service

Field Service / Mobile Worker Scheduling with skills, time windows, and multi-day planning

Previewproblem type field_servicemanifest 2.0

Objectives#

What the solver optimizes. Enabled objectives are weighed together.

ObjectiveWhat it meansDirectionOn by defaultWeight
Maximize Jobs Completed
maximize_jobs_completed
Complete as many jobs as possible within constraintsmaximizeYes1.0
Minimize Travel Time
minimize_travel
Minimize total travel time across all techniciansminimizeYes0.8

Problem inputs#

The setup values you send with a problem. The console renders them as form fields.

Problem Size#

InputNameTypeRequiredDefaultDescription
n_jobsNumber of JobsnumberYes20Service jobs at different locations
n_workersNumber of WorkersnumberYes5Mobile workers who travel to jobs
n_locationsNumber of LocationsnumberNoUnique job locations (default: number of jobs)

Service Configuration#

InputNameTypeRequiredDefaultDescription
service_duration_hoursService DurationnumberNo0.5Default time required to complete each job (in hours)

Travel Settings#

InputNameTypeRequiredDefaultDescription
travel_time_methodTravel Time Calculation MethodselectNoexplicit_timesChoose how travel time between jobs is calculated
travel_time_no_trafficTravel Time (No Traffic) - minutesnumberNo12Time to travel between jobs when there's no traffic
travel_time_with_trafficTravel Time (With Traffic) - minutesnumberNo20Time to travel between jobs during peak traffic
travel_speed_mphAverage Travel SpeednumberNo25Average speed for travel time calculations

Advanced Options#

InputNameTypeRequiredDefaultDescription
find_minimum_workersFind Minimum WorkersbooleanNoAutomatically determine the minimum number of workers needed to satisfy all constraints

Constraints#

A hard constraint must hold or the problem is infeasible; a soft one adds a penalty when broken.

ConstraintWhat it requiresKindOn by default
Maximum Working Hours
max_working_hours
Maximum hours each technician can work per dayhardYes
Technician Availability Calendar
technician_availability
Respect technician availability calendars (multi-day)hardNo
Minimum Technicians Required
min_technicians
Ensure minimum technician count is maintainedhardNo
Skills/Qualifications Matching
skill_matching
Match technician skills to job requirementshardYes
Certification Requirements
certification_requirements
Require valid certifications for specific job typeshardNo
Job Time Windows
job_time_windows
Jobs must be started within customer-specified time windowshardNo
Job Dependencies
job_dependencies
Some jobs must be completed before others can starthardNo
Multi-Day Scheduling
multi_day_scheduling
Schedule jobs across multiple dayshardNo
Travel Time
travel_time
Account for travel time between job locationshardNo
Maximum Travel Distance
max_travel_distance
Limit total travel distance per technician per daysoftNo
Territory Assignment
territory_assignment
Assign technicians to specific geographic territoriessoftNo
Workload Balance
workload_balance
Balance work across technicianssoftYes
Technician Job Preferences
technician_preferences
Consider technician preferences when assigning jobssoftNo
Customer-Technician Affinity
customer_technician_affinity
Prefer sending the same technician to repeat customerssoftNo

Presets#

Named starting sets of constraints.

PresetUse it forConstraints
Basic Field Service
basic
Simple job assignment with skill matchingmax_working_hours, skill_matching, travel_time, workload_balance
Appointment-Based Service
appointment_based
Service with customer time windowsmax_working_hours, technician_availability, skill_matching, job_time_windows, travel_time, workload_balance
Multi-Day Scheduling
multi_day
Schedule across multiple days with calendarsmax_working_hours, technician_availability, skill_matching, job_time_windows, multi_day_scheduling, travel_time, workload_balance, customer_technician_affinity