def test_with_medium_input(self): self.setUp_medium() self.assertEqual( knapsack_solver(self.medium_1_items, 100), { 'Value': 1042, 'Size': 99, 'Chosen': [ 44, 49, 60, 77, 80, 83, 94, 104, 107, 117, 127, 134, 157, 160, 170 ] }) self.assertEqual( knapsack_solver(self.medium_2_items, 100), { 'Value': 969, 'Size': 100, 'Chosen': [1, 10, 27, 28, 66, 120, 139, 145, 153, 155, 174, 188, 191] }) self.assertEqual( knapsack_solver(self.medium_3_items, 100), { 'Value': 868, 'Size': 99, 'Chosen': [ 9, 14, 15, 47, 68, 108, 116, 120, 133, 154, 158, 161, 164, 170, 181, 198 ] }) self.cleanUp_medium()
def test_with_small_input(self): self.setUp_small() self.assertEqual(knapsack_solver(self.small_1_items, 100), { 'Value': 197, 'Chosen': [1, 7, 8] }) self.assertEqual(knapsack_solver(self.small_2_items, 100), { 'Value': 259, 'Chosen': [1, 9, 10] }) self.assertEqual(knapsack_solver(self.small_3_items, 100), { 'Value': 129, 'Chosen': [4, 5, 7, 9] }) self.cleanUp_small()
def test_with_large_input(self): self.setUp_large() self.assertEqual( knapsack_solver(self.large_1_items, 100), { "Value": 2640, "Chosen": [ 44, 83, 104, 107, 134, 160, 239, 271, 295, 297, 308, 335, 337, 370, 373, 420, 432, 561, 566, 623, 648, 671, 693, 704, 737, 782, 795, 796, 814, 844, 866, 907, 909, 913, 935, 949, 987, 997, ], }, ) self.cleanUp_large()
def test_with_small_input(self): self.setUp_small() self.assertEqual( knapsack_solver(self.small_1_items, 100), { "Value": 197, "Chosen": [ 1, 7, 8, ], }, ) self.assertEqual( knapsack_solver(self.small_2_items, 100), { "Value": 259, "Chosen": [ 1, 9, 10, ], }, ) self.assertEqual( knapsack_solver(self.small_3_items, 100), { "Value": 129, "Chosen": [ 4, 5, 7, 9, ], }, ) self.cleanUp_small()
def test_with_medium_input(self): self.setUp_medium() self.assertEqual( knapsack_solver(self.medium_1_items, 100), { "Value": 1042, "Chosen": [ 44, 49, 60, 77, 80, 83, 94, 104, 107, 117, 127, 134, 157, 160, 170, ], }, ) self.assertEqual( knapsack_solver(self.medium_2_items, 100), { "Value": 969, "Chosen": [ 1, 10, 27, 28, 66, 120, 139, 145, 153, 155, 174, 188, 191, ], }, ) self.assertEqual( knapsack_solver(self.medium_3_items, 100), { "Value": 868, "Chosen": [ 9, 14, 15, 47, 68, 108, 116, 120, 133, 154, 158, 161, 164, 170, 181, 198, ], }, ) self.cleanUp_medium()
help='Output File', required=True) args = parser.parse_args() in_algorithm = args.algorithm in_input_file = args.input_file in_output_file = args.output_file test = os.path.join(in_input_file) investors_data, obligations = parse_data_classic(test) investors_data_opt, obligations_opt, names = parse_data_optimize(test) if in_algorithm == 'base': print('--------------------------------------') first_v_time = timeit.default_timer() inv_data, obl_data = knapsack.knapsack_solver(investors_data, obligations) first_v_time = timeit.default_timer() - first_v_time print('--------------------------------------') print('MEMORY INFO (USAGE MEM.):') print('Memory: {:.4f} MB'.format(mem_use_win32.get_memory_usage() / (1024. * 1024.))) print('--------------------------------------') print('Standart Algorithm without optimization:') print('Time: {:.4f} ms'.format(first_v_time * 1000)) print('--------------------------------------') print(inv_data["total_reward"]) for obligation in inv_data["items"]: print( str(obligation["day"]) + ' ' + str(obligation["name"]) + ' ' + str(obligation["price"]) + ' ' + str(obligation["amount"])) print('--------------------------------------')