public IEnumerable <Instance> GenerateInstances(Prescription prescription, string prescriptionPath) { this.prescription = prescription; this.specializedPrescription = JObject .FromObject(prescription.SpecializedPrescription) .ToObject <SpecializedPrescription>(); this.random = this.prescription.RandomSeed.HasValue ? new Random(this.prescription.RandomSeed.Value) : new Random(); foreach (var stateDiagramKind in this.specializedPrescription.StateDiagrams) { IStateDiagram stateDiagram = null; switch (stateDiagramKind) { case StateDiagramKind.Aghelinejad2017a: stateDiagram = new StateDiagrams.Aghelinejad2017a(); break; case StateDiagramKind.Benedikt2020aTwosby: stateDiagram = new StateDiagrams.Benedikt2020aTwosby(); break; } foreach (var repetition in Enumerable.Range(0, this.prescription.RepetitionsCount)) { foreach (var jobsCount in this.specializedPrescription.JobsCounts) { foreach (var maxProcessingTime in this.specializedPrescription.MaxProcessingTime) { foreach (var instance in this.GenerateInstances( repetition: repetition, jobsCount: jobsCount, maxProcessingTime: maxProcessingTime, stateDiagram: stateDiagram)) { yield return(instance); } } } } } }
public IEnumerable <Instance> GenerateInstances(Prescription prescription, string prescriptionPath) { this.prescription = prescription; this.specializedPrescription = JObject .FromObject(prescription.SpecializedPrescription) .ToObject <SpecializedPrescription>(); this.random = this.prescription.RandomSeed.HasValue ? new Random(this.prescription.RandomSeed.Value) : new Random(); foreach (var instanceSize in this.specializedPrescription.InstanceSizes) { foreach (var repetition in Enumerable.Range(0, this.prescription.RepetitionsCount)) { yield return(this.GenerateInstance( instanceSize, repetition)); } } }