I've built a couple of systems for trucking, one long haul and the other local area day runs. My client and I actually schemed on a startup for a while but never went forward.
We focused a lot on customer value, such as delivery notifications and other ways to make things go smooth for the customer.
But the biggest issue was utilization: getting the most stuff delivered per mile and per minute. This has a huge affect on the bottom line. Gasoline is a huge variable expense and driver time too. It's all about dispatching (load building and routing). For both systems we built quite sophisticated tools to aid dispatchers in building and routing loads. Eventually we wanted to make this an expert system to auto build loads across the fleet.
The nature of the problem is slightly different in long vs short haul. Routing short hauls is much harder because you must use actual road miles, which is slow. Geometric distances are simply too far off. The main focus in long haul is minimizing deadheads (driving long legs empty).
Note that neither of these cases were "milk runs" -- regular routes every day, like UPS, for example. That's an entirely different problem space.
I'd be happy to chat if you like.