I have been building scheduling & optimisation software for more than 20 years now.
I’m still amazed to find out the common belief that optimising the travel for each individual technician ends up with optimised diaries...
Nothing more wrong …!
Have you ever played Tetris? This old game where shapes fall from the top and you need to organise them in the best possible way to create lines… To master Tetris, you must not focus on a line but on the density to ensure you are making as many lines as possible in one go. (For those who don’t know what Tetris is, there are few free games playable in your web browser … just don’t mention More IQ when your boss is asking what you are doing!)
Let use Tetris to illustrate the interest of a global optimisation …
Imagine each game is a technician and receives some jobs to do.
Hard to optimise especially with the width of each game and the restriction of only being able to stick to on technician.
But if you get the opportunity to mix and match the 3 different games then you can really optimise all games, as some pieces fit better with the other games the same way jobs may fit better with the other technicians.
A global optimisation operates the same way.
After the symbolic Tetris representation, this is a concrete example of the difference between route and global optimisation:
Choosing where the green job best to fit using only a route optimisation will end up with choosing route A or route B :
While the optimum solution could be in route A attracting a job from B close to the green job so now more efficient to be in route A.
So, a global optimisation must allow a combinatory between routes to improve efficiency.
But I’m sure the sure que question you want to ask is, "does it make a big difference" ?
Let's run an example with a real workforce optimisation scenario:
This 10-technician team has been 'route optimised'....
Probably in a much better way than most job management software has, as each job is tried and optimised with every technician to find out the best one to received each new jobs.
Each technician's day is fully optimised but once a job has been assigned to a technician, it stays there.
Result : 1h04 of average travel per worker.
If we run a global optimisation, the jobs can now be exchanged between technicians to find the best combination.
As a result, the journeys are not the same in most cases and the jobs not assigned to the same technician (different color between the pushping and the road trip between the two images)
Result : 33 min of average travel per technician
48% of the global travel saved! 30+ minutes of travel saved per technician per day is about ... 100h saved per month on this team !... plus a significant reduction of CO2 emissions...
Of course, this is just an example on a very small team and powerful global optimisation must be able do this with hundreds of technicians and weeks ahead!
A few last words about route optimisation web APIs used by many job management systems. Google maps is a well-known one but there are many other similar offers.
Most of these APIs have their origins in providing map rendering and map related functions. Their ‘optimisation’ methods are great when working to optimise a single route. Some can even optimise a very small planning with a very few technicians which can be enough to optimise a small truck fleet or perhaps 5 or 10 vehicles for the next day. But all these APIs show their incapacity to deal properly with cases involving hundreds of technicians scheduled weeks ahead even more when a response time for every inevitable daily change is expected to be immediate.
Because of the transaction cost (monetary and time), this makes it almost impossible to use these APIs to try all the possibilities before committing to a result. So, the fallback is to find the closest route and only run a route optimisation with the new job inside … limiting even more the potential cost 'optimisation'.
So if you are told your system uses a web API to 'optimise' your teams ... then this is generally a very bad news! Or if we look at the positive side, the very good news as you now know it is possible to do much better!
But More IQ is a web API you would say? True but More IQ APIs works in a very different way! It has been designed to offer a global optimisation feature with a great response time even with thousands of technicians and this makes all the difference!