parallel computing in MultiStart for global maximum

My task is to estimate 11 parameters which would make the maximum likelihood function fit best. So yufun is my function, r is the data that I have and params including the 11 parameters is the one I would like to estimate.
The program seems stuck at a function whose name is remoteparfor. I found it because when I click on pause, it stop at remoteparfor. More specifictly, it stop at this loop:
while isempty(r)
r = q.poll(1, java.util.concurrent.TimeUnit.SECONDS);
obj.displayOutput();
% Only test to see if the session is failing if we didn't get a
% results from the queue
if isempty(r) && ~obj.Session.isSessionRunning
errorMessageInput = iGetParpoolLinkForError();
error(message('parallel:lang:parfor:SessionShutDown', errorMessageInput));
end
end
my code is attached as below:
% params=sym('params');
% r_bar=params(1);
% p_bar=params(2);
% tp=params(3);
% rho_p=params(4);
% n_bar=params(5);
% tn=params(6);
% rho_n=params(7);
% phi_pp=params(8);
% phi_pn=params(9);
% phi_np=params(10);
% phi_nn=params(11);
tic;
ms = MultiStart('UseParallel','always');
r=normrnd(0.009347597,0.002834309,1000,1);
yufun=@(params)(-1*bege_gjrgarch_likelihood(r, params));
opts = optimoptions(@fmincon,'Algorithm','sqp');
problem = createOptimProblem('fmincon','x0',zeros(1,11),...
'objective',yufun,'lb',[0,0,0,0,0,0,0,-1,-1,-1,-1],...
'ub',ones(1,11));
[params,fval,exitflag,output,solutions] = run(ms,problem,20);
toc;
Does anyone can help me solve this problem ? Or can provide another way to get global maximum.

Answers (0)

Products

Release

R2016b

Asked:

on 3 Jul 2018

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!