Fleet routing engine
Weight, volume, stop limits and delivery windows solved by a solver, instead of a whole morning building loads by hand.
Challenge
Building the load plan was manual and expensive. Each vehicle has weight and volume limits, each driver takes a number of stops, and half the delivery addresses arrive without coordinates or with missing volume data. When a route came out wrong, the mistake only showed up with the truck already loaded. And every external routing API call landed on the bill.
Delivered
I took the engine over and grew it. Before trying to solve anything it validates: departure date in the past, route with no destinations, more recipients than the available fleet can serve, departure base without coordinates, total weight above the combined vehicle capacity. It fills in missing volume data, geocodes addresses without coordinates, groups documents by recipient, builds the distance matrix and hands it to a Python solver. All queued, because solving a whole fleet does not fit in a request timeout. When it finishes, it creates the load plan itself and hands it back to operations.
Result
Route planning stopped being a morning of work and started running in the background. Mistakes now surface at validation instead of at the loading dock. And the external routing API bill went down, because distances already computed are reused instead of bought again.
Architecture
Tell us what is stuck.
We reply within one business day. If GMPX is not the right fit for your case, you will hear that, with a pointer to who is.
Government regulated e-invoicing