public void ProcessMachinesPermutation() { //PrintJobAssignments(); _utils = new JobsProcessingUtils(X.Length) { jobsPermutation = X, jobAssignments = JobAssignments }; var cMax = _utils.FindCMax(); var jobs = new Neighbor { Cmax = cMax, JobsPermutation = X.ClonedInstance(), JobsAssignment = JobAssignments.ClonedInstance() }; if (ResultCmax > cMax) { ResultCmax = cMax; ResultJobAssignments = JobAssignments.ClonedInstance(); ResultJobPermutation = X.ClonedInstance(); Results = new List <Neighbor>(); // clear list alternative results } else if (ResultCmax == cMax) { Results.Add(jobs); // add same job config for optimal Cmax } }
public void LoadFromInputData() { NumOfJobs = InputData.NumOfJobs; _numOfStages = InputData.NumOfStages; _eligibility = InputData.Eligibility; _utils = new JobsProcessingUtils(); }