I have an objective function that takes about half a minute to execute. I used Matlab optimization toolbox. I found that sequential versions of the algorithms (Multistart, Genetic, PSO) are faster than parallel ones. Any explanations??
ok,Ahmed, when we talk to compare sequenntial vs. parallel execution time, we have to consider algos optimized for a machine and/or running on the bare hardware,..differently if the algos run on a software virtual machine, where a software layer or some kind of O.S., is in between. Execution time of parallel algos are high sensitive with respect of the underlayer of hardware-sotware architecture.
It happens to me in Matlab when the process in the parfor was "light". The reason is explained there (http://www.mathworks.com/matlabcentral/answers/32460-parfor-slower-than-for-for-simple-tutorial-example) and is due to overhead to send and collect result and the synchronisation of the processes.