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} &lt; 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!)