News:

The Forum Rules and Guidelines
Our forum has Rules and Guidelines. Please, be kind and read them ;).

Feature Request: split cargo destinations evenly

Started by pwhk, October 02, 2014, 01:09:04 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

pwhk

The attached image display the problem.

Apparently the colliery dislike the further power station, and frequently do not allocate coal to them for shipment.

However, both power stations is not storing a lot of coal, if any.

As a result, many convoys are waiting for the coal, causing congestion.

jamespetts

I think that there may have been some discussion about this before, although I cannot now remember what, if any, conclusions were drawn from it. The allocation of cargo to destinations is largely if not entirely unchanged from Standard. I should be interested to know the rationale adopted for the system in Standard before considering any changes in Experimental.
Download Simutrans-Extended.

Want to help with development? See here for things to do for coding, and here for information on how to make graphics/objects.

Follow Simutrans-Extended on Facebook.

DrSuperGood

QuoteI should be interested to know the rationale adopted for the system in Standard before considering any changes in Experimental.
The current standard system (will change if my JIT2 patch gets incorporated) is not entirely fair.

Suppliers "push" goods out to consumers who need them. When they do so they might stop the consumer from needing that product so by the time another consumer tries to supply it then it has no luck. If the order of factory ticks remains roughly the same then one factory may supply more to a destination than another. This is especially the case if you use any kind of flow model such as experimental's storage + transit limit.

In JIT2 the solution to this currently is to order for periods of "delta_t". Similar to the push logic that distributes goods, it also determines if it needs goods or not. Once a need for goods is determined it will keep needing them until at least the next delta_t period and the need is re-evaluated. By doing this it assures that all industries are exposed to a delta_t push cycle so have a chance to fulfil the factories needs. The result is often multiple factories sending a shipment all at once as long as they have goods waiting (if they do not then they will miss out, something I imagine to be beneficial to distribution).

Factories distributing goods should be "fair" since it cycles through the destination list in round-robin style. The only unfairness is introduced by the exposure to industries accepting goods occurring at different times for different lengths.

QuoteHowever, both power stations is not storing a lot of coal, if any.
That is to do with the transit + storage limit experimental uses to regulate sending goods. I believe someone raised the issue of a bug in the code a while back that has yet to be fixed (or deployed at least). The result is that it does not accurately reflect the amount the industry needs to work at 100% and often is closer to 50%.