public ProductionStateGenerator(ProductionHistoryGenerator productionHistoryGenerator, FutureProductionPlanGenerator futureProductionPlanGenerator, double[,] timeMatrix, double mqbDistanceWeight = 0.0, double mebDistanceWeight = 0.0, double uniformProbabilityWeight = 1.0) { ProductionHistoryGenerator = productionHistoryGenerator; FutureProductionPlanGenerator = futureProductionPlanGenerator; MqbDistanceWeight = mqbDistanceWeight; MebDistanceWeight = mebDistanceWeight; UniformProbabilityWeight = uniformProbabilityWeight; TimeMatrix = timeMatrix; RandomGenerator = !RandomSeed.HasValue ? new Random() : new Random(RandomSeed.Value); }
public ProductionState GenerateProductionState() { var res = new ProductionState() { TimeMatrix = TimeMatrix }; res.FutureProductionPlan = new Queue <ItemState>(FutureProductionPlanGenerator.GenerateSequence()); res.ProductionHistory = new Queue <ItemState>(ProductionHistoryGenerator.GenerateSequence()); GenerateWarehouseState(res); return(res); }