protected override void OnExperimentEnd(ModelElementBase modelElement) { if (expHeaderPrinted) { Console.WriteLine($"Lots finished mean {LotsProduced.Average()} with st dev {LotsProduced.StandardDeviation()}"); //foreach (string type in Lateness.Keys.OrderBy(x => x)) //{ // Console.WriteLine($"{type} Lateness mean {Lateness[type].Average()} with st dev {Lateness[type].StandardDeviation()}"); // Console.WriteLine($"{type} Tardiness mean {Tardiness[type].Average()} with st dev {Tardiness[type].StandardDeviation()}"); // Console.WriteLine($"{type} Earliness mean {Earliness[type].Average()} with st dev {Earliness[type].StandardDeviation()}"); //} } expHeaderPrinted = false; }
protected override void OnExperimentStart(ModelElementBase modelElement) { if (!expHeaderPrinted) { ExperimentWriter?.WriteLine("Replication,Time,CycleTime,LotID,ProductType,EndTime,StartTime,Lateness"); LotsProduced.Reset(); foreach (var type in Lateness.Keys) { Lateness[type].Reset(); Tardiness[type].Reset(); Earliness[type].Reset(); } expHeaderPrinted = true; } }
protected override void OnReplicationEnd(ModelElementBase modelElement) { repHeaderPrinted = false; LotsProduced.Collect(lotCounter); }