News:

Simutrans.com Portal
Our Simutrans site. You can find everything about Simutrans from here.

Industrial demand and on-site storage

Started by Sarlock, January 30, 2014, 05:55:22 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Sarlock

With the pause in the online game this has given me the opportunity to go offline with the game and do a lot of different tweaks with my network, starting from the same point in time and trying different approaches.

Industrial storage:

Industry inventory storage levels seem too low.  On the primary producer end it's not too bad because you can draw off excess inventory in to a station and then in to the holds of your transport network.  The complication is in the middle or end consumer of the cargo - the limited storage capacity of these industries means that the primary producers will only allow so much cargo to enter the network.  This creates situations where the secondary industry is happily consuming its current on-hand inventory but it will burn through this inventory long before the next shipment arrives.  Since the primary producer will only release more inventory once the secondary is below its storage levels, this creates a see-saw motion in the amount of goods transported by the network.  Given that in larger games these goods delivery networks can be massive (in the server game, I have lines that take ~150 game hours (2 game years!) to make a round-trip journey) and ships require a certain minimum amount of cargo to be profitable, I face the choice between running many more ships at 10-20% capacity to increase the overall amount of cargo transferred or accept that the end industry will sit idle 75% of the time.

A workaround is instead of delivering the cargo directly to the end industry, drop it off at a station and then transfer this cargo to the industry with a secondary form of transport, even if it's only a couple of tiles apart and the dock could have served this industry.  Now you can beef up the cargo storage for the end station and it will happily queue up large amounts of cargo that can then be drawn off at a more even rate to feed the end industry, keeping it running 100% of the time.  What the player ends up doing is acting as an intermediary warehousing facility to even out the flow of goods to the industry.  While this works, building and maintaining such a configuration is expensive in early years until the profits start coming in.

Example (I'm running from memory here as I am not near my local computer where I play from to check actual figures):

-Colliery produces 300 units/month.  Its available onsite storage is 140 units.
-Nearby dockyard with 100 units storage.

-Coal merchant consumes 300 units/month.  Its available onsite storage is 80 units.
-Nearby dockyard (storage capacity not important).

-Ships that dock at the colliery will only receive cargo if the coal merchant is below 80 units storage.  And even then, the ship only seems to want to take on 160t of cargo (double the merchant's storage capacity?) and then the station and colliery will refuse to put more on the ship.
-You have a network of ships running back and forth with 160t maximum loads.  Whenever a ship arrives at the coal merchant and unloads, the coal merchant stops asking for cargo from the colliery until it uses up the bulk of its onsite storage.  This creates breaks in production of coal at the colliery which means that neither the colliery nor the coal merchant are achieving anything near 100% production (hard to even reach 50%).

-Now add an intermediary station at the coal merchant dockyard so that the dockyard cannot reach the coal merchant.  Connect the coal merchant to the dockyard with a road/canal network.
-Increase dockyard storage capacity to a high number, say, 500 units storage.
-Your ships will now happily load 500+ tonnes of coal in to their holds and make the journey.  As long as the dockyard at the coal merchant doesn't become overloaded, you can keep piling coal on to your ships and the colliery will happily keep producing.
-You can now transport the coal to the coal merchant using the local network in a volume that keeps the coal merchant running at 100% capacity (as long as there is enough coal at the dockyard).

With experimentation I have discovered that this a far more profitable arrangement.  You can run your ships to a much higher capacity (increasing per-trip profits) and can reach 100% utilization of your industry production.  Maximizing production levels is integral to maximizing your profits.  Your infrastructure maintenance costs are fixed and operational costs are minimal with the 1.80/km large cargo ship.  A milk run that I set up with was earning 100,000 revenue per trip with an operational cost of only 3,000/trip.  (a 97% profit margin!)

I think it may be worthwhile to take a look at storage levels for industries and increase them to near their monthly production levels.  ie: increase coal merchant storage from 80 (I think it's currently 79) to 300.  While the warehousing method works to mitigate this, it's not terribly intuitive to players and certainly gives a big advantage to those players who know how to set this type of network up.

--------------

With this concept in place, I had a look at some industry chains that I had previously written off as unprofitable.  Orchard-pub, cider transport, was one such thing.  With a storage level of 20t at the pub, you could only transport a maximum of 40t of cider at any one time.  This barely covered the ship's operating cost and adding in maintenance costs of the docks, it was a money-losing venture.

I added dockyard capacity/warehousing for the pub and a secondary canal transport to transfer to the pub as in the above example.  I was instead transporting 200t of cider per run, enough for several months (if I recall) consumption at the pub.  The ship was now quite profitable on the run, but the extra maintenance costs of the extra freight dockyard storage buildings and canal network meant that this profitable ship, running every 3-4 months, wasn't profitable enough to offset the additional 1,500/month or so of maintenance costs.

I'll try some other methods but it seems that it's not possible to make the orchard-pub run a profitable venture at this stage.  There are a few others that are in a similar situation where end consumption is too low to mitigate the increased maintenance charges of a warehousing model... chains which, without warehousing, are not even remotely profitable due to low cargo transfer amounts.  Industries that consume less than 100 units/month of cargo are difficult to make profitable.

--------------

I am going to run some further simulations with all industrial chains and produce some results and recommendations for tweaks in the levels (this is just a pakset balancing issue).
Current projects: Pak128 Trees, blender graphics

Sarlock

I've been trying to get my head around this issue for a while now and I think I've come to some conclusions that I can present in a cohesive manner:



We have a cattle farm and dairy connected together by my company in the online game.  The cattle farm can produce 384 units of milk per month and the dairy can consume 616 units per month.  These two industries are connected by 4 ships travelling back and forth between.  No other industries are connected or other players supplying/delivery to either industry.

The dairy should, in theory, be able to consume 100% of the cattle farm's milk production and still be operating only just over 50% capacity (384/616=62%).

What we find, however, is that the dairy isn't reaching anywhere near that level.  Every second month, a delivery of 450 milk arrives at the dairy and is consumed over the next two months: it is consuming 225 units per month on average, or operating at 37% - almost half of its potential level.

The trouble I've had is to examine exactly why this is occurring.  There are two components that are working in tandem to create this issue.  Firstly, the storage capacity of the dairy is only 96 crates of milk.  This is 16% of monthly maximum production.  If a delivery of 450 milk arrives at the dairy, the dairy will accept the load but then this will instantly stop the cattle farm from producing any more milk until the storage level goes below 96.  At a rate of 616 crates/month production, it will take the dairy ((450-96)/616)*6.4=3.7 game hours (half a month) to reach the point where the cattle farm with produce milk again.

Further, there is a maximum amount of milk that can be transported at any given time.  This amount varies from month to month and seems to see-saw up any down, probably in relation to amount in storage at the dairy.  It peaked at 1259 in the previous month.  This will also put a brake on any future milk production at the cattle farm.

Combine these two together and we see that the cattle farm is continually stopping and starting production in relation to messages relayed from the dairy.  Even though the dairy could easily consume 100% cattle farm production, the storage and in transit factors are halting production enough to drop it to just a 225/368=61% production rate.

Theoretically I could probably get closer to 100% if I put a lot of convoys on to the route with a lower amount of goods on board.  If I ran 40 convoys with 45/ship instead of 4 with 450/ship, I could even out the storage issue a bit, as we would keep it below 96 more frequently, but this would require an increase 10x of all of my operating convoys (I have over 320 freight convoys at present - this would require over 3,000 to achieve a better averaging - actually more since then my industries would require more convoys as they would be closer to 100% production level, so maybe 4,000-5,000 convoys just for a single player's freight routes).

I think the best way to resolve this problem is to remove the storage limitation.  I know that the in transit amount uses this figure and for this purpose, you can still retain this calculation, but you can remove its use as a limit on goods being produced by source industries.  The in transit amount will serve just fine in this capacity and allow the end industry to restrict production based on overall network in transit goods, not the actual goods sitting in its yard.
Current projects: Pak128 Trees, blender graphics

jamespetts

Thank you very much for your thoughts - these are useful. I shall look into the industry issues presently. Incidentally, the maximum in transit percentage varies depending on the speed of delivery and the maximum production rate of the consuming industry, not the storage of the consuming industry.
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.