optimization tutorial
Getting Started with Route Optimization
Learn how to set up your first optimization scenario and generate optimal routes for your field team.
Formict Team |
Route optimization is at the core of Formict. Instead of manually planning routes for your field workers, you define constraints and let the solver figure out the best assignments and sequences.
What You Need
Before running your first optimization, set up these resources:
- Locations — your depots or hubs where vehicles start and end their day
- Vehicles — your fleet, each assigned to a start location
- Shifts — the time window each vehicle is available (e.g., 8:00–17:00)
- Jobs — the work items with customer addresses and time windows
- Customers — where the jobs take place, with GPS coordinates
Creating a Scenario
An optimization scenario is a configuration that tells the solver what to optimize and which resources to include. Navigate to Optimization → New Scenario and configure:
- Date — which day to optimize
- Goal — choose from minimize distance, minimize time, minimize cost, balance workload, or split equally
- Vehicles — select which vehicles to include
- Jobs — the solver will pull all unassigned jobs for the selected date
Understanding Results
After running the optimization, you’ll see:
- Route map — each vehicle’s route plotted on a map with job sequences
- Metrics — total distance, time, cost, and utilization per vehicle
- Dropped jobs — any jobs the solver couldn’t fit, with reasons (capacity, time window, skills)
- Timeline — arrival and departure times at each stop
Tips for Better Results
- Set realistic time windows on jobs — overly tight windows increase dropped jobs
- Use soft time windows when slight delays are acceptable (the solver penalizes but still assigns)
- Add service duration to jobs to account for time spent on-site
- Enable break scheduling in shifts for legal compliance
- Use skill tags to match specialized technicians to specific job types
The solver uses Google OR-Tools under the hood, solving multi-depot VRP problems with all your constraints simultaneously.