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); }
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); } } } }