Я пытаюсь запустить оптимизацию с помощью scipy.optimize. Differential_evolution. Код требует границ для каждой переменной в x. Но мне нужно решение, в котором части x должны быть целыми числами, а другие могут свободно варьироваться в виде чисел с плавающей запятой. Соответствующая часть моего кода выглядит так
bounds = [(0,3),(0,3),(0,3),???,???]
result = differential_evolution(func, bounds)
Что мне заменить ???, чтобы заставить эти переменные быть целыми в заданном диапазоне?
scipy.optimize
не поддерживает такое ограничение. pyevolve и DEAP — это две другие библиотеки Python для создания генетических алгоритмов, которые предлагают контроль над вашей функцией мутации, так что вы можете ограничить некоторые или все элементы в ваших векторах решений целыми числами. В зависимости от характера вашей проблемы вы также можете взглянуть на библиотеки целочисленного программирования, такие как cvxpy или PuLP. - person ali_m   schedule 19.02.2016