why using pattrensearch with genetic algorithm gives error while fminunc not
조회 수: 1 (최근 30일)
이전 댓글 표시
Dear All,
I'm using ga from matlab and I need to improve my result so I decided to use local search with GA. I used fminunc it gave almost the same result. So I tried to use patternsearch, but it gave error. Down I wrote my code
function [x,fval,exitflag,output,population,score] = PGA(nvars,PopulationSize_Data,Generations_Data,InitialPopulation_Data)
% This is an auto generated MATLAB file from Optimization Tool.
%%Start with the default options
options = gaoptimset;
%%Modify options setting
options = gaoptimset(options,'PopulationSize', PopulationSize_Data);
options = gaoptimset(options,'Generations', Generations_Data);
options = gaoptimset(options,'InitialPopulation', InitialPopulation_Data);
options = gaoptimset(options,'Display', 'off');
options = gaoptimset(options,'PlotFcns', { @gaplotbestf @gaplotbestindiv});
[x,fval,exitflag,output,population,score] = ...
ga(@FP,nvars,[],[],[],[],[],[],[],[],options)
To here my original code finish, so I add the next code for fminunc, when I write the code to use fminunc it gives result
fminuncOptions = optimoptions(@fminunc,'Display','iter','Algorithm','quasi-newton');
options = gaoptimset(options,'HybridFcn',{@fminunc, fminuncOptions});
[y,fval] = ga(@FP,nvars,[],[],[],[],[],[],[],options);
while for patternsearch I got error, in fact I want to use pattern search using poll to get better result.
options = optimoptions(@patternsearch,'Display','off');
options = gaoptimset(options,'HybridFcn', {@patternsearch,options});
[y,fval] = ga(@FP,nvars,[],[],[],[],[],[],[],[],options);
Can anyone help me with it please?
Thanks in advance.
Nadia
댓글 수: 2
채택된 답변
Alan Weiss
2015년 9월 16일
Currently, you cannot use optimoptions to set options for patternsearch. Use psoptimset to set patternsearch options.
Alan Weiss
MATLAB mathematical toolbox documentation
댓글 수: 5
Alan Weiss
2015년 9월 21일
I would not use patternsearch with a search method, I would use a poll method only. And GPSPositiveBasis2N is the default poll method, so there is no reason to set it or to pass any other nondefault options to patternsearch.
I do not understand your question about the hybrid function causing ga to run multiple times. I believe that a hybrid function runs after ga terminates. Perhaps you were confused because you were using a search function for patternsearch, which I think you should not do.
Alan Weiss
MATLAB mathematical toolbox documentation
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Direct Search에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!