The generation of random alleles for genes represented by real numbers is:

public void setToRandomValue (randomGenerator a_numberGenerator) (

setAllele (new Double ((m_upperBound - m_lowerBound) *

a_numberGenerator.nextDouble () + m_lowerBound));

)

If the bounds which we want are [0, Double.MAX_VALUE], where

Double.MAX_VALUE = 1.7976931348623157E308 occurs:

setAllele (new Double ((Double.MAX_VALUE - 0) *

a_numberGenerator.nextDouble () + 0));

The values generated by a_numberGenerator.nextDouble () are between 0 and 1

following a uniform distribution.

Conclusion:

To generate coherent real numbers, the numbers generated by

a_numberGenerator.nextDouble () should be of order E-308, and that never

happens.