Optimal transport size in MOO

Charis

Realms Beyond
Joined
Dec 20, 2001
Messages
1,837
Location
Midwest, USA
It was immediately apparent on learning that the population growth curves were
"bell-shaped" that there might be good chances for mathematically optimizing
how many colonists to send over from a high pop world to a new colony. It's been
noted that the growth rate is highest at 50% of max, and lower both above and below.
Some have paid particular focus on keeping the pop right at, or above, 50%. In looking
up the growth formula, I found that it wasn't a "normal distribution" (your typical
bell curve) but a much simpler quadratic, as I expected. Specifically:

Current growth rate = max growth rate (1% to 5% based on fertility??)
* ( max population - current population size ) / maxPopulation

where: max population is based on planet size, habitability zone, etc.

Amount of pop increase = (current growth rate / 100) * Current population

Therefore absolute growth rate, delta Pop = G * (maxP - P) * P (quadratic in 'P')
Note the *percent* rate is maximum when tiny, linearly decreasing with P, but the
number of new peeps on your planet looks like this:



There are several key points to note from this. First of all, the change in efficiency
is by far smallest in the middle region, while the growth rate shifts are dramatic at
the ends. The "maximum" growth rate right at 50% seems overexaggerated. Note:

- You get 90% of that 'max growth rate' between 34% to 66% of your population.
- You get 80% of that 'max growth rate' between 27% to 73% of your population.
- You get 60% of that 'max growth rate' between 18% to 82% of your population.

Why is this important? If you have say a ocean 45 of 80 planet thinking about
shift units to a brand new 2 of 100 colony, you're sending far too few if you fear
going below the 50% mark of 40 for the ocean planet. Instead you should send more like 24!
(as long as you don't inactivate factories of course). ocean 21 of 80 still has a growth
rate of 75% of its best growth rate (at size 40), while the new colony will see also
be at 75% of its best growth rate. You'll get about +14 growth combined between the two
planets, while if you send only 5 colonists the new world is only at 25% of its best,
for a combined growth rate of +12. That's not a huge difference, but +2pop per turn
adds up. The benefit of increasing your transport drops when the planets are far apart,
since the BC you lose per turn in transit is larger.

So what *is* the optimal number of colonists to transport? First let me say that a good
player will base his decision on how many to send based on a variety of factors. Does he
need to emphasize homeworld factory growth, or empire growth? Does he need to send fewer
colonists so that he can make enough scouts 'next turn' when it matters? Or does the
situation suggest maximizing the empire's population growth. When it is the latter,
here's the formula, and where it comes from.

If you integrate the growth equation from one size to a future size, the results are:

Time it takes (in turns) to go from population P0 to P1, given growth rate G and max size M
t = ln( (P1*(M-P0)) / (P0*(M-P1)) ) / G

Population of a planet of size m, rate G, starting at size P0, after time t:
P1 = M / (1 + (M/P0 - 1)*Exp(-Gt))

If you shift 'd' colonists between two worlds, size p and P, max size m and M:

P + p = M / (1 + (M/(P0-d) - 1)*exp(-Gt)) + m / (1+m/(p0+d) - 1)*exp(-Gt))

The combined growth rate is dp/dt (the derivative) and to find the maximum, one can
set the derivative of dp/dt with respect to d, to zero, to obtain the optimal shift, d:
The result is a quadratic in d, but three napkins later, the result is simple (!)

d = (m*P - M*p) / (M+m)

The optimal number of colonists to ship, if you want to maximize the *total* growth
of the two planets, is found by the difference of cross multiplying size and max size,
divided by the sum of the max sizes. Let's take an example, before your head explodes.

Larger planet is size 45 of 80. P = 45, M = 80.
Smaller planet is size 2 of 100. p = 2, m = 100.
d = ( 45*100 - 2*80 ) / (80+100) (If this turned out negative, send the the other way!)
= 24.1 Since the colony planet will be growing, go ahead and round down.

So the optimal number to send to a nearby colony planet is 24, to maximize empire growth.

Example 2: Your terran homeworld is size 60 of 100 and a new colony has 2 of 50. How many?
d = (60*50 - 2*100) / (100+50) = 18.6.
So it would be best to send 18 colonists, not just 10. (Again, that's if you don't have
a pressing need to optimize homeworld factory growth instead of empire industry)

Does sending the optimal number for empire growth hurt factory production?
No! It 'shifts' factory production.

Gross Income is currently 0.5 per pop + 1.0 per factory, but the net income after
ecology is reduced by 0.5 per factory waste (until you get waste reduction techs)
So the net income is 0.5 * (pop + factory)
The number of total factories you can produce depends on net income, which depends
equally on pop and factories. So shifting around population simpy shifts WHERE those
factories will be built. A difference in 18 vs 10 colonists send would result in the
colony having about 4 more factories and the homeworld 4 less factories in a few turns.

What if the 'base' growth rates of the two planets are not even due to fertility?!
Let the base rates be g and G. By inspection of the limiting cases, the formula should be:
d = (g*m*P - G*M*p) / (G*M + g*m)
So when g=G, it reduces to the simpler form above. If G were 0, you would send all the
population P to the growing world. If g were zero you would send any p over there home.
Let's look at just one example, when g is 1/2 of G, the colony has half population growth.
Then d = (m*P/2 - M*p) / (M + m/2). With hospitable planets, 60 of 100 sending to a
colony of 2 of 40 would send 15.7 colonists, but if colony is half-growth, send 8.3.
A ballpark adjustment would be to send 1/2 of what you normally would.

Has this analysis been done before? Or is it a novel idea to suggest
d = (m*P - M*p) / (M+m) . . . . as the optimal transport size to maximize empire growth?

Questions, comments, counter-points?
Charis
 
As far as Fertility goes, "Master of Orion, The Official Strategy Guide" has this to say,

"Fertile environment planets are not only larger than normal to start with, they also increase the population growth rate of the planet by 50 percent."

and,

"Fertile planets receive an additional 25 percent size bonus and population grows there at 150% of the normal rate."

Your analysis looks to be correct otherwise, although I haven't done that kind of math in 15 years, :rolleyes: Maybe I should take some refresher courses such as those offerred by MIT online, :D

http://ocw.mit.edu/OcwWeb/Mathematics/index.htm


Be seeing you...

---> TBC (THE Bell Curve)
 
@Charis,

Great analysis, for a N00b! :lol: After reading your post, and looking at my normal moves, I feel soo . . . sub-optimal. ;)


I tend to ballpark my transport missions, within a few rules of thumb:
Get the sending planet up to 1/3 max pop size, WHILE
Keeping the sending planet(s) within the 1/3-2/3 curve, AND
avoid leaving factories idle (i.e. strip so many from the sending planet that there are not enough remaining to work existing factories).

Like anything else, these are situation dependent, just as you mentioned with the scout example. If I am sending from the homeworld, and working on Colony ships, I will also minimize the number I send to avoid delaying construction. On the other hand, if the recieving planet has a bonus (Rich, Artifact, Fertile) I may prioritize and send more, even if I do have to idle some factories.

I will have to re-read your growth equation formula, that's one area I have tended to 'guesstimate' rather than calculate. I am working on a spreadsheet to calculate the factory growth rate for standing up colonies, treating it as a financial equation, basically how many Periods at a compound growth Rate to reach a Future Value = Max # of factories, but with the population growth as an additional variable, limiting the # of factories worked, as well as the production value of the population. So far, I've just been manually estimating the population rate.

You seem to already have noticed (and mentioned in your SG report) that there is a phenomena in the normal growth of a homeworld, in your Factories vs. Colony Ship debate. Normally, by the time you have explored a few planets, and would like a second colony ship, you also still need a lot of factory growth. Given the cost of a colony ship (~570 at base tech levels), and with net production in the 50's-60's, it will take about 10 turns per ship. But this is also where you hit a "sweet spot" during which it is not only is better long-term to build factories first, but actually doesn't delay the first colony ship either. As you noted, from the Colony/10 turns level, each turn you added factories, the turns to build the colony ship dropped by one, until you get to about the 1/5 turn rate (net production of ~115). That is usually for me the crossover point, although again it depends on the situation. You can now build the ship and have it completed the same time as it would have been if you started the colony ship immediately. Waiting a few more turns to max factories not only delays the first colony ship, but builds more factories that will often be idle, waiting for population to catch up, especially if you have to send more off-world to stand up a second colony.

Anyway, glad to see your analysis, I think these SG's will go a long way to maximizing ALL the player's growth curves! ;)
 
The good news is, your typical 'gut-feel' based approach of trying to keep the sending colony's population somewhere near the middle of the curve and also getting the new colony's population up to somewhere near the middle of the curve (perahaps a bit on the low side) also turns out to be the right answer from a statistical point of view. Evidence of clarity and intuitiveness in game design. :)
 
True enough Zed :p

I've heard folks say that their rule of thumb is to keep from 1/3 to 2/3 size for the sending planet, and this is very nearly the 'bottom' line as far as coming up with a rule of thumb. It just clarifies that empire growth is best served by having the sending planet drop to 1/3, not 1/2.

Charis
 
Charis--always enjoyable to have you jump into a game. :lol: I am with Zed on this one--I have always sent to around 40% of base pop--keeping a close eye on factories. I also tend to send more to hostile worlds if I can afford it, since growing there is a pain. It's always nice to have a fertile planet in the empire, such that you can use that planet to populate new hostile worlds, since it can regrow at a faster rate.

The game does lend itself to us intuitive types, even if we can do the math. :p
 
This is interesting stuff :)

However I would like to mention the meklars a little:

due to their extra robotic controls, they won't really end up with surplus population until you have nearly maxed factories. Because of this I normally send enough pop to fill the new planet 90% of max pop. This is not optimal for growth, but it does let you get factories started faster on the new world. It doesn't affect your home world too much, as most of your production is from factories, not people. Then when the new colony has about 10 factories and can start making its own, I send the pop back to the homeworld to roughly try to maximse growth.

I imagine sakraa might have different strategies too, but I have only played them once.
 
You have to notice what is your aim for sending population. I would follow the following simple algorthem for sending out the population if the only thing which is matter is the population growth (PG). I have to say what is realy mater is economy rather than growth so it is not good idea to send out much population out of a system which is completely developed. Although the idea of sending population to new system is very good for klackons and sakkara.

Suppose you have two systems, lets say system1 and system2 with P1=x1%*max1 of its population and P2=x2%*max2 of the population. So what you should do is simple: you shoudl send P=MIN[(x-0.5)*max1,(0.5-x2)*max2] out of the system1. In this way you maximize the PG and in the same time take care of economy too.
 
Top Bottom