CREW DISPATCH OPTIMIZER · RUNS IN YOUR BROWSER · NOTHING UPLOADED

Who should do which job, and in what order?

Paste today's jobs and your crews. The tool decides which crew takes each job and the order of each crew's stops to minimise pay for work and driving plus vehicle cost, respecting skills, hours in the day and what each job is worth. For up to 12 jobs the answer is exact. It then shows what you save against sending each job to the nearest crew, what losing a crew costs and what happens if jobs run long. Copy the dispatch list as a CSV.

Your customers and jobs never leave this browser tab. Planning aid, not legal, tax, or financial advice. Drive times are estimates from coordinates, not live traffic.

Your day

Copy latitude and longitude from a maps app (right-click a point). Separate several skills with | or /. Hours can be 1.5 or 1:30. A skill on a job means the crew must have it; blank means any crew. Numbers outside latitude and longitude range are read as miles on a grid. Lines starting with # are ignored. You can paste straight from a spreadsheet.

Paste your jobs and crews, then click the button.

How it is calculated

Cost of a crew's day: hourly cost × (hours on site + driving hours) + vehicle cost per mile × miles. Driving hours are road miles ÷ speed, and road miles are straight-line miles (great circle from latitude and longitude, or a straight line on a grid) × the road factor. A crew's day must fit in its available hours and every job's skills must be among the crew's. Objective: total cost of all crews plus the value of any job left unplanned; a job with no stated value is treated as too important to skip. Exact method (up to 12 jobs): for each crew, a Held-Karp dynamic programme finds the cheapest order for every subset of jobs; a second dynamic programme over crews and subsets then chooses the best split. No cheaper plan exists. Larger days: seeded multi-start cheapest insertion followed by relocate, swap and 2-opt moves; repeatable, strong, not proven. Baseline: each job goes to the nearest crew that has the skill, first in the order you listed the jobs, then in the best possible order, so you can see what assignment and what sequencing are each worth. The baseline ignores day length, so any hours over are shown.

Not modelled: time windows and appointments, live traffic, breaks, overtime pay, priorities beyond dollar value, parts and truck stock, customer preferences, the individual technician, and planning across several days. Crews are treated as single units. Unverified: the exact solver is checked against brute-force enumeration on small problems and the heuristic against the exact solver, using invented data, not against a real operator's routes or books.

Common questions

How do I assign jobs to crews to cut drive time?

Give each crew a start point and a day length, give each job a location and a duration, then choose which crew takes which jobs and in what order. The best split is rarely the nearest-crew split, because the nearest crew can already be full or drive a long loop. This tool searches for the lowest total of pay for work and driving time plus vehicle cost per mile, and for up to 12 jobs it proves the answer is the true cheapest.

Is the plan exact or a guess?

With up to 12 jobs it is exact: for every crew it finds the cheapest visiting order of every subset of jobs, then picks the best split of the jobs across crews, so no cheaper plan exists for your inputs. With more jobs it uses a seeded multi-start search with relocate, swap and 2-opt moves; that is very good but not proven, and the page says which method ran. The same input always gives the same plan.

How does it decide a job is not worth doing?

Add a value in dollars to a job and the tool will leave it unplanned when serving it would cost more than that value once travel and crew time are counted. Jobs without a value are always planned if any crew can fit them. Each unplanned job shows the reason: no crew has the skill, it does not fit in any day, or it costs more than it earns.

What does losing a crew, or adding one, do to the plan?

The page re-plans the day with each crew removed, with one extra crew like your first one, and with every job running 10, 20 and 30 percent longer than you estimated. You see the change in cost and how many jobs fall off the schedule, so you know which crew the day depends on and how much slack a tight route really has.

How are drive times estimated?

From latitude and longitude it takes the straight-line distance, multiplies by a road factor (1.3 by default) and divides by an average speed (30 mph by default). It does not call a mapping service, so it knows nothing about traffic, tolls, one-way streets or rivers. Put the numbers you see in a maps app into the speed and road factor fields to tune it, or use a grid of miles instead of coordinates.

What is not included?

Time windows and appointment slots, traffic, breaks, overtime pay, job priorities beyond the dollar value, parts and truck stock, customer preferences, and which individual technician is on the van. It plans one day at a time and treats each crew as one unit. Treat the output as a strong starting route and check it against what you know about the day.

Is my customer or job data uploaded anywhere?

No. Addresses, coordinates, names and values are read and solved in this browser tab. Nothing is sent to a server, there are no accounts or cookies, and the tool does not store your data. It works offline once the page has loaded.