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.
답변 (0개)
카테고리
도움말 센터 및 File Exchange에서 Use COM Objects in MATLAB에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!