The reason I'm asking this question here is that I've seen a thread about ODL already. Let me know if I'm in a wrong place.

I'm trying to crosscheck a route plan using ODL Studio, which uses JSpirit to route vehicles. I have a customer data that is 400k rows long; and I keep getting memory errors.

I presumed it was because my data was too big; so I picked a portion from it and created 100k rows worth of data. No luck there as well. Here's where I'm confused.

I went ahead and deleted like 95k rows. Now with 5k rows, it created a matrix of 2000x2000 and worked perfectly. So instead of deleting random data, I created a new data with only one week's worth of information, which was around 4700 rows. For some reason my matrix is 4700x4700, and I can't get it to work again.

Can someone at least point me in the right direction so that I can have the optimizer working?


Vehicle routing problems above a couple of thousand stops are pretty large, you'd need to split them up before attempting to run in ODL Studio. The Territorium module in ODL Studio would help you split them up by geographic area, but you'd need some suitable geographic building block to do this (e.g. zip, postcode), keeping say the max number of blocks in Territorium below 5000.

To run larger routing problems in ODL Studio you'll also need to give java more memory by increasing the Xmx setting in the Run ODL Studio 64-bit.bat file - see https://www.opendoorlogistics.com/tutorials/tutorial-vi-advance-configuration/building-road-network-graphs/ section 'Graph files for large countries' for more information.

Even with more memory, I would recommend optimising a couple of thousand stops together at most.

| improve this answer | |
  • Thank you very much for this information. Yes, with 1400 stops it works perfectly. I suppose I cannot optimise more than a day's worth of stops? – burjuvaazi Jun 6 '19 at 14:48

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.