示例#1
0
 public void PrepareLayout()
 {
     //IE486fall18
     this.layout.Bins = new BinList();
     foreach (Station currentCell in this.layout.Stations)
     {
         foreach (Processor currentProcessor in currentCell.Processors)
         {
             if (currentProcessor.BreakdownType == RVGeneratorType.BusyTime)
             {
                 currentProcessor.NextBreakdown = currentProcessor.Breakdown.GenerateValue();
             }
             else
             {
                 SimulationManager manager = (SimulationManager)this.Parent;
                 manager.EventCalendar.ScheduleProcessorBreakdownEvent(currentProcessor.Breakdown.GenerateValue(), currentProcessor);
                 currentProcessor.NextBreakdown = Double.PositiveInfinity;
             }
             currentProcessor.RepairTime          = Double.PositiveInfinity;
             currentProcessor.EstimatedRepairTime = Double.PositiveInfinity;
         }
     }
 }
示例#2
0
 public EventCalendar(SimulationManager managerIn)
 {
     this.manager = managerIn;
     this.events  = new EventListDoubleDictionary();
 }
 public void SetState(AlgorithmCollection algorithms, SimulationManager managerIn)
 {
     this.operationSelection.SetState(algorithms.OperationSelection.Stream);
     this.orderRelease.SetState(algorithms.OrderRelease.Stream);
     this.partSequencingForProcessor.SetState(algorithms.PartSequencingForProcessor.Stream);
 }