Я пытаюсь реализовать алгоритм дифференциальной эволюции для задачи коммивояжера. Я получаю следующую ошибку: «TypeError: неподдерживаемые типы операндов для -: 'list' и 'list'" Я понимаю, что не могу вычесть два списка, но я не уверен, что именно делать, чтобы решить эту проблему. Спасибо за помощь. Эффектная часть кода:
x_1 = population[random_index[0]]
x_2 = population[random_index[1]]
x_3 = population[random_index[2]]
x_t = population[random_index[3]]
print("X_t", x_t)
# subtract x3 from x2, and create a new vector (x_diff)
x_diff = [x_2_i - x_3_i for x_2_i, x_3_i in zip(x_2, x_3)]
# multiply x_diff by the mutation factor (F) and add to x_1
v_donor = [x_1_i + mutate * x_diff_i for x_1_i, x_diff_i in zip(x_1, x_diff)]
v_donor = ensure_bounds(v_donor, bounds)