Exemple #1
0
 def test_case0(self):
     solution = Solution("p 1 v 1")
     # leg 1 : plane 1 = cost 12
     # 6 legs not done = cost 3000
     # no maintenance = cost 0
     # no repeated legs = cost 0
     # total cost 3012
     score = evaluate_solution(self.instance, solution)
     self.assertEqual(3012, score)
Exemple #2
0
 def test_case1(self):
     solution = Solution("p 1 v 1 4")
     # leg 1 : plane 1 = cost 12
     # leg 4 : plane 1 = cost 2
     # 5 legs not done = cost 2500
     # no maintenance = cost 0
     # no repeated legs = cost 0
     # total cost 2514
     score = evaluate_solution(self.instance, solution)
     self.assertEqual(2514, score)
Exemple #3
0
 def test_case3(self):
     solution = Solution("p 1 v 1 4\np 2 v 4")
     # leg 1 : plane 1 = cost 12
     # leg 4 : plane 1 = cost 2
     # leg 4 : plane 2 = cost 3
     # 5 legs not done = cost 2500
     # no maintenance = cost 0
     # 1 leg is done twice = cost 500
     # total cost 3017
     score = evaluate_solution(self.instance, solution)
     self.assertEqual(3017, score)
Exemple #4
0
    def test_case4(self):
        # no base in this test case to provoke maintenance cost
        for correspondence in self.instance.correspondences:
            correspondence[2] = 0
        self.instance.correspondences[1][3] = self.instance.K

        solution = Solution("p 1 v 1 4 7")
        # leg 1 : plane 1 = cost 12
        # leg 4 : plane 1 = cost 2
        # leg 7 : plane 1 = cost 1
        # 4 legs not done = cost 2000
        # 2 legs not maintained = cost 200
        # no repeated legs = cost 0
        # total cost 2215
        score = evaluate_solution(self.instance, solution)
        self.assertEqual(2215, score)
Exemple #5
0
def evaluate_solution(instance, solution) -> float:
    return evaluate2018.evaluate_solution(instance, solution)