public void TestFitnessAssignment( ) { MockDualObjective rank_1_a = new MockDualObjective( 0,2 ); MockDualObjective rank_1_b = new MockDualObjective( 1,1 ); MockDualObjective rank_1_c = new MockDualObjective( 2,0 ); MockDualObjective d1 = new MockDualObjective( 1.5,1.6 ); MockDualObjective d2 = new MockDualObjective( 2, 2 ); MockDualObjective d3 = new MockDualObjective( 3, 1 ); MockDualObjective d4 = new MockDualObjective( 3,3 ); ZitlerThieleFitnessAssignment assignment = new ZitlerThieleFitnessAssignment( ); var fittedScores = assignment.AssignFitness( new IObjectiveScores[]{d1, d2, d3,d4, rank_1_a, rank_1_b, rank_1_c} ); Assert.AreEqual( 1.0 / 7, getFitness( fittedScores, rank_1_a ), 1e-12 ); Assert.AreEqual( 3.0 / 7, getFitness( fittedScores, rank_1_b ), 1e-12 ); Assert.AreEqual( 2.0 / 7, getFitness( fittedScores, rank_1_c ), 1e-12 ); Assert.AreEqual( 10.0 / 7, getFitness( fittedScores, d1 ), 1e-12 ); Assert.AreEqual( 10.0 / 7, getFitness( fittedScores, d2 ), 1e-12 ); Assert.AreEqual( 9.0 / 7, getFitness( fittedScores, d3 ), 1e-12 ); Assert.AreEqual( 13.0 / 7, getFitness( fittedScores, d4 ), 1e-12 ); }
public void TestFitnessAssignment( ) { MockDualObjective rank_1_a = new MockDualObjective(0, 2); MockDualObjective rank_1_b = new MockDualObjective(1, 1); MockDualObjective rank_1_c = new MockDualObjective(2, 0); MockDualObjective d1 = new MockDualObjective(1.5, 1.6); MockDualObjective d2 = new MockDualObjective(2, 2); MockDualObjective d3 = new MockDualObjective(3, 1); MockDualObjective d4 = new MockDualObjective(3, 3); ZitlerThieleFitnessAssignment assignment = new ZitlerThieleFitnessAssignment( ); var fittedScores = assignment.AssignFitness(new IObjectiveScores[] { d1, d2, d3, d4, rank_1_a, rank_1_b, rank_1_c }); Assert.AreEqual(1.0 / 7, getFitness(fittedScores, rank_1_a), 1e-12); Assert.AreEqual(3.0 / 7, getFitness(fittedScores, rank_1_b), 1e-12); Assert.AreEqual(2.0 / 7, getFitness(fittedScores, rank_1_c), 1e-12); Assert.AreEqual(10.0 / 7, getFitness(fittedScores, d1), 1e-12); Assert.AreEqual(10.0 / 7, getFitness(fittedScores, d2), 1e-12); Assert.AreEqual(9.0 / 7, getFitness(fittedScores, d3), 1e-12); Assert.AreEqual(13.0 / 7, getFitness(fittedScores, d4), 1e-12); }