Random Parameter Generator |
Top Previous Next |
•Generates random values for multiple parameters
•For each parameter one can choose a distribution
- Uniform U(min, max)
- Normal N(mean,sigma)
- Exponential E(lambda)
- Poisson P(lambda) – (produces integer numbers)
- Binomial B(p,n) – (produces integer numbers)
•The maximum number of generated parameter combinations can be set
•Generated parameters can be filtered by a constraint
•RandomSeed can be set explicitly to make runs reproducible
How to use it
RandomSeed and Count
<generator id="RandomSG" class="net.simplace.client.simulation.lap.generators.RandomSimGenerator">
<var id="RandomSeed" datatype="CHAR">342345734</var>
<var id="Count" datatype="INT">500</var>
<cal id="LUE" datatype="DOUBLE" min="2" max="4" rule="vLUE"/>
<var id="LUE_Distribution" datatype="CHAR">Normal</var>
<var id="LUE_sigma" datatype="DOUBLE">0.21</var>
<var id="LUE_mean" datatype="DOUBLE">3</var>
<cal id="SLA" datatype="DOUBLE" min="0.0175" max="0.0225" rule="vSLA"/>
<var id="SLA_Distribution" datatype="CHAR">Uniform</var>
<cal id="Number" datatype="INT" rule="vNumber" min="0" max="12"/>
<var id="Number_Distribution" datatype="CHAR">Binomial</var>
<var id="Number_p" datatype="DOUBLE">0.35</var>
<var id="Number_n" datatype="INT">10</var>
<constraint rule=“${vLUE} + ${vSLA} < 4“ />
</generator>
Parameter and it‘s distribution
Different distributions
Distributions of Integers
Constraints
Implicit constraints are applied during parameter generation.
Explicit constraints are applied after parameter generation, possibly reducing the Count of generated simulations.
Setting the distribution for a parameter
•Parameter name <cal id=“Pname“ min=““max=““…
•Distribution: <var id=“Pname_Distribution“ …
•Additional var‘s depending on the Distribution
- Uniform: no additional var‘s, only min, max attributes
- Normal: <var id=“Pname_mean“ …
<var id=“Pname_sigma“ ..
- Poisson, Exponential: <var id=“Pname_lambda“ …
- Binomial: <var id=“Pname_n“ …
<var id=“Pname_p“ …
For Pname you can choose an arbitrary name. The part after the underscore has to be written literally (upper- and lowercase matters!)