News:

Simutrans Wiki Manual
The official on-line manual for Simutrans. Read and contribute.

Industry balance

Started by Jando, July 24, 2017, 04:19:05 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Jando

Greetings James and others! In another thread (here: http://forum.simutrans.com/index.php?topic=17220.0) James commented on industry balance and said the following:

QuoteIndustry production and consumption- mostly balanced

The production and consumption rates of industry have been calibrated to realistic levels and should be more or less correct. However, there may be errors due to the lack of extensive play testing.

I'd like to add my comments on industry balance too but thought it would be better to make a separate thread for that than to pollute James' general balance thread with my ramblings. :) And I did some extensive play testing with industries, haha.

First of all, while I tentatively agree with industries being balanced - on a per industry scale - I disagree with industry being balanced on a per map scale. The "tentatively" in this sentence comes because I don't know what the intended balance - on a per industry scale - is: the demand stated in the industries' information window (Example: "Max. 83 units per month) or the amount the industry factually consumes (for this example: around 660 units). Factual demand is roughly 8 times the stated demand. I'm unsure whether that's a bug or intended behaviour, with perhaps just the stated amount not yet reflecting the intended factual amount. Personally I would consider the stated amount to be better balanced and the factual amount to be rather too large. Or perhaps the best balanced amount is somewhere in the middle, like 2-3 times the stated amount.

So far for balance for an individual industry. Now to industry balance when seen across the whole map. On that scale I consider industry very unbalanced. 

First reason - but not the only one - is that a few industry types, namely the chains with large consumers, are so good money-creators that all other industry chains are largely irrelevant. Supplying a single builders' yard easily makes more money than connecting all the pubs, greengrocers, grocers, bakeries, hardware shops, newsagents, etc. on one of my typical maps. These large consumers provide more revenue and profit with far less infrastructure and complexity than all other industry types. I play mostly in the 1800 to 1940 years and here the large consumers are: power stations, coal merchants, gasworks and builders' yards - all other industry chains are optional and not really needed because these other industry chains have no large consumers.

And when there is no large consumer it doesn't really pay to establish a transport network for these industry chains because the throughput of the network will eventually be limited by the amount the consumer at the end of the industry chain demands. Example: It doesn't matter how many car factories requiring a complex transport network I have on my map. When there's only 1 car dealership on the map per car factory the whole factory will never produce more than what the car dealer demands (stated amount: 10 cars per month).

And that brings me to the second reason. When there are no large consumers for an industry chain we would need many small consumers instead. That would be the realistic way and also lead to interesting logistics. An orchard, for example, supplying 4 or 5 pubs in the region. An arable farm supplying 5 or 6 markets or greengrocers, a printworks supplying 10 newsagents. However, maps don't have that amount of small consumers. If I crank up the number of industries on a typical map I get a few more small consumers but also much more colleries, power stations and coal merchants instead. :) Thus to create a better balanced and more realistic freight network the ratio of large to small consumers would have to change. Many more small consumers would be needed. After all a town in the real world has many more bakeries and grocers than power stations, in Simutrans it's the other way round, here a typical town has more power stations than bakeries. :)

And - the third reason - even with more smaller consumers it would need another step to create better balanced industry chains, and that is that esp. the smaller producers (farms, orchards, sheep farms, etc.) would need to be closer to towns than they are now. Building a road out to an orchard for example is in many cases a money-losing project because the smaller producers may supply enough freight for 4 or 5 truckloads per Simutrans-month, but the profit made from transporting that cargo won't pay the building costs for the road in any reasonable time frame. And I suspect few players would consider it a good idea to build infrastructure that will make little than reducing their profit.


For these reasons I consider industry to be very unbalanced on a per map scale, sorry. But please excuse my ramblings here, I don't even know whether it's possible to change these parameters anyway. :)

Vladki

I can't remember exact options, but there should already be some option to tweak the ratio of input/output factories in chain.

Sent from my ONEPLUS A3003 using Tapatalk


jamespetts

I am currently working on adding data to industries for the new passenger and mail classes feature (the data that I am adding are currently being added to the passenger-and-mail-classes branch of the pakset). I have just been re-calibrating the builders' yard and greatly reducing its productivity in light of your feedback on this thread, and will be doing the same with the coal merchant.

Power stations are more precisely calibrated already by reference to historical figures on the ratio of coal input to power output, and their numbers are not determined in the same way as numbers of other industries, but rather on the basis of map-wide electricity demand.

As to numbers of consumers, I did make an alteration to the code a few months ago (I cannot remember whether it was on the master branch or the passenger-and-mail-classes branch) that increased the chance of a consumer industry being built when an industry chain is expanded. (The long-term plan is to have consumer industries built using the algorithm for commercial city buildings, but that will have to be done at the same time as a major overhaul of town growth, which would be a very large project and is some way off).

As to distance to towns, there is already a maximum distance to consumer parameter for industries, although I have recently reduced this for a number of industries in the early era. If you have some data on the extent to which this is currently excessive for other industries, I should be very grateful for those data.

Apologies that it has taken so long to address this, but balance works are major and complex works and need to be done together as a large batch to ensure coherence.
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.

Jando

Thanks for your post, James, much appreciated!

Quote from: jamespetts on November 10, 2017, 10:09:12 PM
... I have just been re-calibrating the builders' yard and greatly reducing its productivity in light of your feedback on this thread, and will be doing the same with the coal merchant.

Please keep in mind that I made the original post in this thread before the last round of industry bugfixing was finished. Back then every industry consumed 8 times as much as it does now. Through bugfixing you already reduced demand of all industries by that factor of 8. Current industry demand is 12.5% of what it was when I made the original post here.

Quote from: jamespetts on November 10, 2017, 10:09:12 PM
... Power stations are more precisely calibrated already by reference to historical figures on the ratio of coal input to power output, and their numbers are not determined in the same way as numbers of other industries, but rather on the basis of map-wide electricity demand.

Power stations (and the other coal end consumers) are in a difficult spot because of the Simutrans day-month. In 1947 a typical power station demands around 80 tons of coal per day in the current pakset. That sounds very fine per day but obviously is not enough per month. At that time 80 tons is the capacity of one 2-tile "long" freight train per day-month, the revenue of that 2-tile long freight train does not cover the maintenance cost of the stations and track to the power station.

Coal merchants and gasworks have a higher demand (per day-month) but need more frequent smaller deliveries because their internal storage is smaller than the storage of power stations. For coal merchants that seems fine to me, 5 or 6 truck-loads per day-month would seem a reasonable traffic volume to a coal merchant. Power stations and gasworks however should be supplied by heavy bulk transport (trains or water transport) in my opinion. The current pakset however favours road transport per truck (not enough demand to pay for the rail infrastructure).

Quote from: jamespetts on November 10, 2017, 10:09:12 PM
... As to numbers of consumers, I did make an alteration to the code a few months ago (I cannot remember whether it was on the master branch or the passenger-and-mail-classes branch) that increased the chance of a consumer industry being built when an industry chain is expanded. (The long-term plan is to have consumer industries built using the algorithm for commercial city buildings, but that will have to be done at the same time as a major overhaul of town growth, which would be a very large project and is some way off).

I agree that this long-term plan is the sensible way forward.

Quote from: jamespetts on November 10, 2017, 10:09:12 PM
... As to distance to towns, there is already a maximum distance to consumer parameter for industries, although I have recently reduced this for a number of industries in the early era. If you have some data on the extent to which this is currently excessive for other industries, I should be very grateful for those data.

I'll think about how to get some data for typical maps and industry chains and will report back.

Quote from: jamespetts on November 10, 2017, 10:09:12 PM
... Apologies that it has taken so long to address this, but balance works are major and complex works and need to be done together as a large batch to ensure coherence.

No worries, James, certainly no apology needed. Quite the contrary, hehe.

jamespetts

Thank you for your feedback. Do you think on this basis that the internal storage of some larger industries such as power stations and gasworks need to be increased?
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.

Jando

Quote from: jamespetts on November 11, 2017, 11:54:33 AM
Thank you for your feedback. Do you think on this basis that the internal storage of some larger industries such as power stations and gasworks need to be increased?

Hello James, let me answer with a screenshot from my 1947 game here: http://files.simutrans.com/index.php/s/SsTyLvTmRvezcTn

You see 3 industry windows: a gasworks, a coal-fired power station and a coal merchant. In 1947 these are the coal end-consumers and have the following typical parameters:


Name Max. per month Storage Ratio
Gasworks 114 45 39%
Power station 81 125 154%
Coal merchant 180 75 42%


The ratio shows what percentage of the monthly demand fits into the internal storage of the industry. You immediately see the difference in storage capacity for each industry. I find two other things about these parameters odd as well:

  • I would think of gasworks and power stations to have a higher monthly demand than a simple coal merchant. But they don't.
  • I would think about a coal merchant usually getting supplies by truck and of gasworks and power stations to be supplied by bulk water or rail transport.
Here's what I would consider:

Coal merchants
Balanced for delivery per truck. In 1947 the heaviest road transport can handle 14 tons per trip. 5 truck loads per month arriving at the merchant seems fine to me, thus giving a coal merchant a demand of 70 tons of coal per month. 50% storage capacity sounds fine as well, thus the coal merchant would need an internal storage of 35 tons.

Gasworks and power stations
Balanced for heavy bulk transport. In 1947 a 4 tiles long train can carry 288 tons of coal. Thus the train length in the Simutrans-Extended scale would be 1 km, a reasonable number, though still rather short for bulk trains: https://en.wikipedia.org/wiki/Longest_trains . To give players choice in transporting coal to gasworks and power stations I would scale their demand to 2 times the train load, 2x288 thus, giving these industries a monthly demand of 576 tons with a storage capacity of 100%.

If you find it helpful I can do the same calculation for different years as well, say 1800, 1840, 1880, 1920 and a more modern, say 1980 game to see how demand and storage develops over the years.

jamespetts

As far as the consumption rates for the power stations are concerned, these need to be scaled strictly to the actual amount of coal that would be required in the relevant era to produce the amount of power in question. I think that I calibrated this with some precision a few years ago. Likewise, I believe that I calibrated the gasworks on this basis some time ago. The calibration needs to be in so far as possible on the basis of these real life values rather than estimated multiples of truckloads or train loads. The coal merchant I have reduced in demand considerably on the passenger-and-mail-classes branch, however, as with the builders' yard.

I was more interested in your views on whether the storage capacities of the power stations and gasworks were too small - is this a problem, do you think?
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.

Vladki

I think that early coal merchants and builder yards tended to be as close to railway station as possible. Truck were used for delivery from the merchant to individual customers (houses).

Sent from my ONEPLUS A3003 using Tapatalk


Jando

Quote from: jamespetts on November 11, 2017, 07:55:37 PM
As far as the consumption rates for the power stations are concerned, these need to be scaled strictly to the actual amount of coal that would be required in the relevant era to produce the amount of power in question. I think that I calibrated this with some precision a few years ago. Likewise, I believe that I calibrated the gasworks on this basis some time ago. The calibration needs to be in so far as possible on the basis of these real life values rather than estimated multiples of truckloads or train loads. The coal merchant I have reduced in demand considerably on the passenger-and-mail-classes branch, however, as with the builders' yard.

I was more interested in your views on whether the storage capacities of the power stations and gasworks were too small - is this a problem, do you think?

Internal storage of power stations certainly does not need any increase, James. It already sits at 154% of monthly demand. Gasworks and coal merchants sit at 39% and 42% respectively in the current pakset. Even those numbers are good enough to guarantee continuous supply via truck in 1947.

The ratio of internal storage to monthly demand should ideally be a moving value: in early times it needs to be large (because of slow transport), say 400% of monthly demand, in modern times the ratio can easily drop to around 40-50%. That also fits with real world practices where more industries in modern times don't keep large stocks on site but rely on JIT instead. https://en.wikipedia.org/wiki/Just_in_time_(business)

With my talk about demand in terms of train or truck loads I want to stress that we get to the point that there's no need to use any freight trains in Simutrans-Extended at all. Monthly demand (from power stations and gasworks) is low so that they are best supplied by a few trucks. Obviously that is not what happens in the real world where power plants can consume multiple train loads per day.

jamespetts

Ah, so you think that there is a problem with power station demand being too low? May I ask how much that you are finding that the power stations demand in practice compared to the documented amount of a real life power station of equivalent type?

As to automatic adjustments of ratios, if I understand you correctly, something similar is done by the system for automatically adjusting the in-transit quantity, the amount which, when added to the current stocks, tells the industry whether or not to demand further material from the supplier. This is adjusted automatically to take into account the lead time (including the total transport time of the goods to the 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.

Jando

Quote from: jamespetts on November 12, 2017, 11:43:53 AM
Ah, so you think that there is a problem with power station demand being too low? May I ask how much that you are finding that the power stations demand in practice compared to the documented amount of a real life power station of equivalent type? ...

Yes, James, that's why I was arguing with the concept of truck or train loads. In the real world a large coal-powered power station needs a train load of coal each day, and even more under high load. From https://en.wikipedia.org/wiki/Fossil_fuel_power_station#Fuel_transport_and_delivery
"A large coal train called a "unit train" may be two kilometers (over a mile) long, containing 130-140 cars with 100 short tons of coal in each one, for a total load of over 15,000 tons. A large plant under full load requires at least one coal delivery this size every day. Plants may get as many as three to five trains a day, especially in "peak season" during the hottest summer or coldest winter months (depending on local climate) when power consumption is high."

In our current pakset a typical power plant needs the load of a 2-km long coal train every 7 days instead of at least each day as outlined in that Wikipedia article. That's why I suggested to scale the demand of a power station in the pakset to 576 tons per month. 576 tons is what a 2 km long train hauls in the 1940's in our pakset, thus matching the operational reality of a real power station demanding a train load each day.

jamespetts

Can I clarify - when you refer to a day, do you mean 24 in-game hours or something else?
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.

Jando

With day I mean the Simutrans-Extended day-month of 6h24mins.

jamespetts

Ahh,that is am error: using that as a day will result in incorrect hourly figures. That may explain why you think that the figures are too low: for a power station that runs constantly all day, you need to compare a real life day's consumption of coal with 24 game hours' worth of coal demand.
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.

Ves

Well, apparently it's the scales that makes this so complicated. As I can read it between the lines in jandos reply, he wants to be able to set the schedule to once per "month" (or cycle as you may call it) and the train will have the correct size and run in predictable elements etc.

So maybe it could somehow be possible to separate the clock with the game minutes and hours?
The minutes and hours would run from 0:00-23:59 and would fit in the year, so say one year would be a cycle of 2 or 3 "days" which could be configurable. The game months would run in the same pace as currently, but the clock would not reset every month as it does currently.
With this, you would set the schedules not as a fraction of a "month", but rather directly as minutes and hours.
Since so much is dependent on the actual game minutes and hours, it would actually make sense to have the schedule base on that.
Of corse I understand that this would be no easy task to code, but I think the result of consistency feeling would be worth the task.

jamespetts

Given that, for the last 3-4 years, development has been progressing at a rate of approximately one major feature a year, and given that there are at least five (and possibly six or seven depending on what might count as "major" or how different features are separated from one another) major features currently outstanding, it is likely to be many years before any major changes not currently planned in detail can be implemented unless such things acquire a very high priority (e.g. because the game is effectively broken or unbalancable without them - and is so to a greater extent than alerady planned features).

Because so many things depend on assumptions about how months work, as you anticipate, changing this in the way that you suggest would be a major undertaking.
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.

Jando

Well, my main concern isn't really the scales, my apologies that I understood them wrong. I always worked in the understanding that an Simutrans-Extended "day" has 6h24mins, and that an Extended "month" has just one of these "days". :)

But basically my main concern at the moment is that there's no reason to use freight trains in Extended at all after trucks become available (or perhaps even after steam engines in 1857 though I didn't test that). Power stations are the most frequent large end-consumers on typical maps and would be supplied by heavy freight trains (or water transport) in real life. However, power stations in Simutrans-Extended are currently best supplied by a few trucks. Demand of a power station is around 80 tons per 6h24mins and that's easily supplied with roughly 1 truck with coal arriving per hour. Thus no need to use freight trains to supply them.

But a transport simulator that has no need for freight trains just feels wrong to me. And thus the suggestion to bump up demand - to a scale where continuous supply would need a much higher capacity than 1 or 2 truck loads per hour.

jamespetts

It is difficult accurately to calibrate power station demands because, in any given era, there were lots of different power stations with different capacities. I have just updated (on the passenger-and-mail-classes branch) the power stations' demand figures to increase them slightly - the power station modelled on Battersea Power Station, for example, has a demand based on that power station's actual electricity generating capacity.

Do you think that there is a problem in the ratio between the generating capacity and the coal consumption demand?
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.

TurfIt

What is the ratio between the generating capacity and the coal consumption demand?
In Standard, it's simply a number I pulled outta the air; Gives a semi-reasonable magnitude for atleast some largish industries.
In reality, highly variable depending on technology of the plant, and quality of coal being burned as an especially strong determinant. Single data point: mid-large unit (net 500 MWe), 1960's ish design (2nd gen super critical), reasonable quality coal (low 20's MBTU/ton), consumes ~100 lb/sec.  Have 8 such units in the plant, and you're not supplying that by truck!

jamespetts

That suggests for a 1960s design, 500MW can be generated with 8,640,000lb of coal per day (that is, 3,919t per day). This suggests that approximately 8t of coal per day is consumed (for a 1960s design) for each megawatt of power. To convert to a Simutrans month, we divide by 3.75 to get 2.13t of coal per megawatt per 6.4 hours.

The current ratio is 2.0 (that is, 2.0t of coal for every 1 megawatt of power per 6.4 game hours). Perhaps I need to make some of the coal power stations, especially the older ones, less efficient by increasing the consumption percentage to over 100% for coal? This would not make an order of magnitude difference, however.
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.

Jando

Quote from: jamespetts on November 14, 2017, 12:43:35 PM
... This suggests that approximately 8t of coal per day is consumed (for a 1960s design) for each megawatt of power. ...

That number is likely pretty correct, James.

I re-read the wikipedia article on coal-fired power plants today and noticed this snippet of information: "A 500 MWe plant may have six such pulverizers, five of which can supply coal to the furnace at 250 tons per hour under full load." Thus this plant burns 250 tons of coal per hour for 500 MW (running at full load). That makes it 0.5 tons per megawatt per hour, thus 12 tons per megawatt per real-life day assuming full load all the time. Since the plant won't be running at full load all day and night it will thus burn less than 12 tons, making the 8 tons you used a pretty good number.

Thus coal plants in Simutrans-Extended burn the correct amount of coal per megawatt.

However, power plants in Simutrans-Extended, although looking quite large, are actually very small power plants (40 MW) compared to real-world power plants. Here's an interesting list of still existing old coal plants in the US: https://www.sourcewatch.org/index.php/Oldest_existing_coal_plants . You can click on a plant in the list and it will show additional info, amongst them the capacity in terms of megawatt. With one or two exceptions all the plants are much larger than our typical 40MW power plant.

In real life we have few large power plants, and those need all the mass bulk transport infrastructure. In Simutrans-Extended however we have many pretty small power plants that can indeed be supplied by a few trucks each. :) No need for freight trains with these low-capacity plants.

Vladki

Thanks for converting to metric units :)

Fro comparison, this is the data about one of the Czech coal power plants:
https://www.cez.cz/en/power-plants-and-environment/coal-fired-power-plants/cr/detmarovice.html

Built in mid 1970's, daily consumption is  1600 tons for each 200 MW block,  which is also 8 t/MW per day
and it burns black (good quality) coal with an average fuel efficiency of 22 MJ/kg.

Unfortunately, they do not have similar data for power plants burning brown coal (lesser quality), but at leas something is here:
https://www.cez.cz/en/power-plants-and-environment/coal-fired-power-plants/cr/tusimice.html

Fuel efficiency of brown coal is only half of that of black coal (10-11 MJ/kg).  So one can expect that also the consumption would be double compared to black coal power plant. (This one was built also in 70's) They say that the power plant was renovated around 2010, and its efficiency improved so that 14% less fuel is used per MWh



jamespetts

Whether 40MW is large or small depends on the era; Neasden Power Station was opened in 1904 with two 3,500KW (not MW) generators; when it closed in 1968, it had been upgraded to 20.5MW. By contrast, Drax, built in around 1974, has a generating capacity (as upgraded) of 3,960MW. There are different power stations in the pakset for different eras, and all have a range of different generating capacities, the actual generating capacity being selected from within that range randomly when the industry is spawned.

However, I have just found and fixed a bug (the fix is on the passenger-and-mail-classes branch) in which power stations would always spawn with the lowest amount of power output in their range, which is why you would have seen so many power stations with a maximum capacity of 40MW exactly (being the lowest in the range).

This should hopefully deal with the issue that you have encountered.
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.