I doubt that FME's NetworkCostCalculator transformer will be help you with this complex problem. The methodology will depend on what you want to optimize - fuel consumption, shortest route, most pick-up within a given time, etc. Also, what constraints there might be with dump locations, driver times, etc. It's really a linear Programming (LP) analysis, or perhaps a graphing problem. There are quite a few good references if you search for "route optimization for solid waste collection" or something similar. FME does include the RCaller transformer and there are several R packages for solving optimization and LP problems related to the travelling salesman problem - so those might be worth investigation.
You might like to try the ArcGISOnlineRouter transformer using house location points as stops, but you would be limited to 150 stops per route, which isn't many but might be what a truck can handle before being filled. If you can tackle the coding the asynchronous service handles 10,000 stops at a time. This all requires ArcGIS Online service credits.
I'm just going to post this quickly here - our chief scientist at Safe came up with this solution. I haven't tried it myself - in fact I've barely looked to see how it works - but I wanted to get it online to you asap. Assuming it works as expected, it will probably get a knowledge base article or blog post by itself in the near future.
garbagerouter.fmw
nb: I think he created it in the latest FME2017 beta, meaning you'll get a warning if you open it in anything older. If you need to, you could install the beta and open it there just to see how it works and then copy/recreate it in 2016
I'm just going to post this quickly here - our chief scientist at Safe came up with this solution. I haven't tried it myself - in fact I've barely looked to see how it works - but I wanted to get it online to you asap. Assuming it works as expected, it will probably get a knowledge base article or blog post by itself in the near future.
garbagerouter.fmw
nb: I think he created it in the latest FME2017 beta, meaning you'll get a warning if you open it in anything older. If you need to, you could install the beta and open it there just to see how it works and then copy/recreate it in 2016
Oh, he said...
A quick-and-dirty example of how you could do it using the ShortestPathFinder. I had to duplicate the network, in the reverse direction, to force it to go both ways. Notice that if you change the input data, you will need to change the ShortestPathFinder parameters so that it has settings that more suit your case around how hard to try, how long to take, and when to stop at a "good enough" solution
Thank you for your suggestions. The garbagerouter.fmw looks really promising. I will test with a larger sample today. Thanks so much!
Hello @magdakosior and @mark2atsafe did you ever solve this with FME? The workbench mentioned above is not available to download but would be great to have a look at what was done to avoid reinventing the wheel :)
Hello @magdakosior and @mark2atsafe did you ever solve this with FME? The workbench mentioned above is not available to download but would be great to have a look at what was done to avoid reinventing the wheel :)
Hi @deanhowell the workspace is now available above on Mark's reply
Hi @deanhowell the workspace is now available above on Mark's reply
Thanks @daraghatsafe very much appreciated :)