[I previously asked my question on StackOverflow but this site may be more appropriate]
In Matlab, I am currently using the MultiStart as an optimization algo in a parallel setup for a computer cluster. For example, this is my Matlab code:
opts = optimoptions(@fmincon,'Algorithm','sqp','Use Parallel','Always'); %The options for the algo. The key here is the Use Parallel
problem = createOptimProblem('fmincon','objective',...
@(x) x.^2 + 4*sin(5*x),'x0',3,'lb',-5,'ub',5,'options',opts); %x is the variable I wish to min/max
ms = MultiStart;
[x,f] = run(ms,problem,20) %20 stands for the number of initial random variables
This code works very well when I submit a batch job on the cluster for X processors. I am looking online for a similar algo that I could implement in parallel using Python and I am bit loss. Any similar algo is available for Python?
UPDATE
As for my cluster requirements, multithreading is not acceptable. Usually I use mpi4py
.