Спасибо @ jp2011 за указание на pygmo
Во-первых, стоит отметить отличие от pygmo 1, поскольку первая ссылка в Google по-прежнему указывает на более старую версию.
Во-вторых, остров многопроцессорностидоступны только для python 3.4 +
В-третьих, все работает.Процессы, которые я начал, когда я впервые задал вопрос, все еще выполняются, пока я пишу, архипелаг pygmo проводит обширный тест всех 18 возможных вариантов DE, присутствующих в saDE, сделанных менее чем за 3 часа.Скомпилированная версия с использованием Numba, как предложено здесь https://esa.github.io/pagmo2/docs/python/tutorials/coding_udp_simple.html, вероятно, закончится еще раньше.Chapeau.
Лично я нахожу его немного менее интуитивным, чем версия scipy, учитывая необходимость создания нового класса (вместо функции signle в scipy) для определения проблемы, но, вероятно, это всего лишь личное предпочтение.Кроме того, мутация / пересечение параметров определены менее четко, для кого-то, кто приближается к DE в первый раз, может быть немного неясным.
Но, так как последовательный DE в scipy просто не сокращает его, добро пожаловать pygmo (2).
Кроме того, я обнаружил несколько других вариантов, утверждающих, что можно распараллелить DE.Я не проверял их сам, но мог бы быть полезен для кого-то, спотыкающегося в этом вопросе.
Утконос, сфокусированный на многообъективных эволюционных алгоритмах https://github.com/Project-Platypus/Platypus
Yabox
https://github.com/pablormier/yabox
от создателя Yabox подробное, но ИМХО кристально чистое объяснение DE https://pablormier.github.io/2017/09/05/a-tutorial-on-differential-evolution-with-python/