예제 #1
0
 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;
 }
예제 #2
0
        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;
            }
        }
예제 #3
0
 protected override void OnReplicationEnd(ModelElementBase modelElement)
 {
     repHeaderPrinted = false;
     LotsProduced.Collect(lotCounter);
 }