FS#5918 - Puzzling routing behaviour with cargodist

Attached to Project: OpenTTD
Opened by andythenorth (andythenorth) - Tuesday, 18 February 2014, 20:13 GMT
Last edited by fonsinchen (fonsinchen) - Sunday, 23 February 2014, 15:13 GMT
Type Bug
Category Vehicles → Cargodist
Status Closed
Assigned To No-one
Operating System All
Severity Medium
Priority Normal
Reported Version trunk
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No


Have a look at Poodleston Port - it puzzles me why so much cargo is assigned to the Tinklebury destinations, and so little to Jingleville.

I have tried adjusting the distance effect setting, and I have tried waiting this out for a year or two to see if it rebalances.

Is this expected behaviour? Do I need to adjust my expectations? Or is it a bug? :)

Save requires a few non-bananas newgrfs - compatible versions provided in the zip.
This task depends upon

Closed by  fonsinchen (fonsinchen)
Sunday, 23 February 2014, 15:13 GMT
Reason for closing:  Not a bug
Additional comments about closing:  We keep tile-based demand for now because it adds some variance.
Comment by fonsinchen (fonsinchen) - Tuesday, 18 February 2014, 21:31 GMT
The route to the stations that attract most of the cargo hasn't been properly served for a long time. That's why there is so much cargo waiting.

A secondary problem is the algorithm by which cargodist assigns the demand for cargo. That algorithm is based on tile acceptance, meaning that Jingleville is expected to get less than half the amount of cargo each of the tinklebury stations get because the coal mine has only 9 tiles while the other stations cover 18 and 20 accepting tiles. However, as the algorithm allows for a configurable inaccuracy, the actual distribution is 12 crates per month for jungleville, 30 for tinklebury south, and 19 for tinklebury pit. With a distribution not weighted by tile acceptance and the same inaccuracy setting one would get (a little later in the game) 15 crates to jingleville, 24 to tinklebury south and 17 to tinklebury pit.