Quintiq file version 2.0
|
#parent: #root
|
Method GenerateDemandRealization
|
{
|
Description: 'Generates a random demand realization based on the expected demand and the demand uncertainty'
|
TextBody:
|
[*
|
// Martijn Nov-8-2016 (created)
|
|
|
expectedqty := this.ExpectedQuantity();
|
demanduncertaintypercentage := this.DemandUncertaintyPercentage() / 100;
|
// The NormSInv method is much faster. However, it is very inaccurate <3% or >97%
|
// this.Quantity( MacroPlan::RandNormal( expectedqty, demanduncertaintypercentage * expectedqty ) );
|
// Please see Rescue 32832 or SCP 8783. Normal random variate generation will be enabled in the upcoming releases. Please update the code when it is implemented - updated.
|
// The demand realization is equal to the expected sales demand quantity
|
// plus the randomly generated factor times the demand uncertainty percentage times the expected sales demand quantity
|
|
normal := NormalDistribution::Construct( expectedqty, demanduncertaintypercentage * expectedqty );
|
value := normal.Random();
|
// The sales demand quantity cannot be negative
|
value := maxvalue( 0.0, value );
|
this.Quantity( value );
|
*]
|
InterfaceProperties { Accessibility: 'Module' }
|
}
|