Example #1
0
        public override double[] Objective(DecisionVector p, int trial)
        {
            double[]     obj       = new double[p.NoObj];
            FitnessValue myfitness = new FitnessValue();

            if (trial == 0)
            {
                myfitness.ScheduleGJSP(JD.NoJob, JD.NoMc, JD.NoOp, p.CurrentVector, JD.Job, p.Dimension, JD.NoOpPerMc, JD.Machine, JD);
            }
            if (trial == 1)
            {
                myfitness.ScheduleGJSP(JD.NoJob, JD.NoMc, JD.NoOp, p.TrialVector, JD.Job, p.Dimension, JD.NoOpPerMc, JD.Machine, JD);
            }
            objective myObjective1 = new objective();//Find the first objective

            obj[0] = myObjective1.Cmax2(JD.NoMc, JD.NoOpPerMc, JD.Machine);
            objective myObjective2 = new objective();

            obj[1] = myObjective2.TotalTardiness(JD.NoJob, JD.NoOp, JD.Job);
            return(obj);
        }
Example #2
0
        public override void DisplayResult(TextWriter t)
        {
            t.WriteLine("No. NonDom: " + "\t" + "{0}", ElististP.Count);
            for (int i = 0; i < this.ElististP.Count; i++)
            {
                for (int o = 0; o < ((DecisionVector)this.ElististP[0]).NoObj; o++)
                {
                    t.Write(((DecisionVector)this.ElististP[i]).Objective[o].ToString() + "\t");
                }
                t.WriteLine();
            }
            t.WriteLine("");
            t.WriteLine("Result:");
            t.WriteLine("-------");
            for (int i = 0; i < this.ElististP.Count; i++)
            {
                t.WriteLine("Elistist {0}", i);
                for (int w = 0; w < ((DecisionVector)this.ElististP[i]).Dimension; w++)
                {
                    t.WriteLine("x({0}) = {1}", w, ((DecisionVector)this.ElististP[i]).CurrentVector[w]);
                }

                FitnessValue myfitness1 = new FitnessValue();

                myfitness1.ScheduleGJSP(JD.NoJob, JD.NoMc, JD.NoOp, ((DecisionVector)this.ElististP[i]).CurrentVector, JD.Job, ((DecisionVector)this.ElististP[i]).Dimension, JD.NoOpPerMc, JD.Machine, JD);

                for (int j = 0; j < JD.NoJob; j++)
                {
                    t.WriteLine("");
                    t.WriteLine("J{0}\t Start\t End\n", j + 1);
                    for (int k = 0; k < JD.NoOp[j]; k++)
                    {
                        t.WriteLine("{0} \t {1} \t {2} ", k + 1, JD.Job[j].Operation[k].StartTime, JD.Job[j].Operation[k].EndTime);
                    }
                }
            }
        }