Мне нужно сгенерировать начальную популяцию генетического алгоритма. Рассмотрим следующий вектор:
[20, 2, 20, 1.5, 5, 20, 5, 0.5, -0.5, 5, 20, 5, 3, 14, 70, 30, 10, 5, 5, 20, 8, 20, 2.5]
Я бы сделал это:
new_population = numpy.random.uniform(low=0.1, high=50.0, size=pop_size)
Проблема в том, что некоторые хромосомы в проблемном пространстве имеют разные шаги и разные максимальные значения. Элемент 0 должен быть 1-100 с шагом 1 (So int). Элемент 3 должен быть 0,1-10 с шагом 0,1 (Float). Какой самый простой способ сделать эту рандомизацию?