Specify initial points (both variable and objective function) in surrogateopt function for some data

2 views (last 30 days)
Hello,
I would like to add some initial data (which are from previous run of the objective function) to surrogateopt to reduce the computation time. The objective function have 4 variable. I have 100 previously run data of the objective function.
Below is a simple example of the code:
objconstr = @(x)(x(:,1)^2+x(:,2)^2+x(:,3)^2+x(:,4)^2);
LB = [-2,-6, -3, -5];
UB = -LB;
options = optimoptions('surrogateopt','PlotFcn');
x0=[0 0 0 0;
1 1 1 1;
......
];
%Results of objective function for the x0 values
y0=[1 3 4 5 ....]
[x,fval,exitflag,output] = surrogateopt(objconstr,LB,UB,options)
  2 Comments
Torsten
Torsten on 10 Aug 2023
Edited: Torsten on 10 Aug 2023
I would like to add some initial data (which are from previous run of the objective function) to surrogateopt to reduce the computation time.
Did you read somewhere that such an option exists ? I cannot find it.
Mohammad Azadi Tabar
Mohammad Azadi Tabar on 10 Aug 2023
Edited: Mohammad Azadi Tabar on 10 Aug 2023
Hello,
Yes, I did and found the answer.
trials.X=x0;
trials.Fval=y0;
% options.InitialPoints = trials;
options = optimoptions('surrogateopt','PlotFcn','surrogateoptplot',...
'MinSampleDistance',1e-02,...
'MaxFunctionEvaluations',10,'InitialPoints', trials);
[x,fval,exitflag,output] = surrogateopt(objconstr,LB,UB,options)

Sign in to comment.

Answers (0)

Products


Release

R2023a

Community Treasure Hunt

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

Start Hunting!