Esempio n. 1
0
        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
            }
        }
Esempio n. 2
0
        public void LoadFromInputData()
        {
            NumOfJobs    = InputData.NumOfJobs;
            _numOfStages = InputData.NumOfStages;
            _eligibility = InputData.Eligibility;

            _utils = new JobsProcessingUtils();
        }