我正在为一个优化问题编写代码,这个优化问题基于在这里找到的库metaheuristic-algorithms-python 0.1.6。我有2节课
第1类:
from metaheuristic_algorithms.firefly_algorithm import FireflyAlgorithm
rosenbrook_function_wrapper = MyObjective()
Location = [8,2,2,10]
Light = 0.95
number_of_fireflies = 10
maximun_generation = 10
randomization_parameter_alpha = 0.2
absorption_coefficient_gamma = 1.0
result = FA_search.search(number_of_fireflies,maximun_generation,randomization_parameter_alpha,absorption_coefficient_gamma)
第二类:
这是我从导入的类FireflyAlgorithm调用的方法
def search(self, number_of_fireflies = 10, maximun_generation = 10, randomization_parameter_alpha = 0.2, absorption_coefficient_gamma = 1.0):
self.__initialize_fireflies(number_of_fireflies)
for generation in range(maximun_generation):
for firefly in self.__fireflies:
firefly.update_light_intensity()
self.__move_fireflies(randomization_parameter_alpha, absorption_coefficient_gamma)
solution_firefly = self.__select_best_firefly_by_light_intensity(self.__fireflies)
return { "best_decision_variable_values": solution_firefly.location_coordinates, "best_objective_function_value": solution_firefly.light_intensity }
然而,当我运行我的代码,我得到这个错误
File "Search_FA.py", line 34, in <module>
result = FA_search.search(number_of_fireflies,maximun_generation,randomization_parameter_alpha,absorption_coefficient_gamma)
File "\metaheuristic_algorithms\firefly_algorithm.py", line 32, in search
self.__initialize_fireflies(number_of_fireflies)
File "\metaheuristic_algorithms\firefly_algorithm.py", line 50, in __initialize_fireflies
decision_variable_values = [super(FireflyAlgorithm, self).get_decision_variable_value_by_randomization(variable_index) for variable_index in range(self.number_of_variables)]
TypeError: 'list' object cannot be interpreted as an integer
我传递的所有变量都是int所以我想知道list从哪里来?你知道吗
目前没有回答
相关问题 更多 >
编程相关推荐