Surrogate optimization throws error when I try to use the vectorized option

1 次查看(过去 30 天)
Hello,
Attemting to use vectorized option in surrogate optimization fails and I am not able to figour out
the reason behind. I get the following error message
'UseVectorized' is not an option for SURROGATEOPT.
A list of options can be found on the SURROGATEOPT documentation page.
Bellow, I show you the main part (L believe this should be enough)
options=optimoptions('surrogateopt','PlotFcn'[],'MaxFunctionEvaluations',10^8,'UseVectorized',true,'MinSurrogatePoints',200,'OutputFcn',@(x,optimValues,state)myoutput_Spline(x,optimValues,state,dt,M));
surrogateopt(cost,lb,ub,options)
Any idea?
Thanks a lot!
Babak
  4 个评论
Torsten
Torsten 2022-8-28
编辑:Torsten 2022-8-28
Do you already get the error message when you form the options structure or after calling "surrogateopt" ?
What MATLAB version do you use ?
You noticed that you forgot a comma in your line of code ?
options=optimoptions('surrogateopt','PlotFcn'[],'MaxFunctionEvaluations',10^8,'UseVectorized',true,'MinSurrogatePoints',200,'OutputFcn',@(x,optimValues,state)myoutput_Spline(x,optimValues,state,dt,M));
-> here
Mohammad Shojaei Arani
Hi Torsten,
I use matlab 2022. I checked again and could not find anything. I get error after calling 'surrogateopt'.
But, it does not matter. I am not actually using surrogate optimization (I got faster and more accurate results using particle swarm optimization).
Thanks again for your kind help!
Babak

请先登录,再进行评论。

回答(1 个)

Yash
Yash 2023-10-27
Hello Mohammad Shojaei Arani,
I understand that you are encountering issues while utilizing the Vectorized option in Surrogate Optimization in MATLAB. I have executed your code in MATLAB R2021a, MATLAB R2022a, and MATLAB R2023a, and I did not encounter any errors.
Upon careful examination, I noticed that the line you provided has a missing comma, which may be the cause of the issue. Here is the corrected code snippet:
options=optimoptions('surrogateopt','PlotFcn',[],'MaxFunctionEvaluations',10^8,'UseVectorized',true,'MinSurrogatePoints',200,'OutputFcn',@(x,optimValues,state)myoutput_Spline(x,optimValues,state,dt,M))
options =
surrogateopt options: Set properties: MaxFunctionEvaluations: 100000000 MinSurrogatePoints: 200 OutputFcn: @(x,optimValues,state)myoutput_Spline(x,optimValues,state,dt,M) PlotFcn: [] UseVectorized: 1 Default properties: BatchUpdateInterval: 1 CheckpointFile: [] ConstraintTolerance: 1.0000e-03 Display: 'final' InitialPoints: [] MaxTime: Inf MinSampleDistance: 1.0000e-06 ObjectiveLimit: -Inf UseParallel: 0
I recommend adding the missing comma to the code, as shown above. This adjustment should resolve the problem you are facing.
I hope this information helps you in resolving the issue.

类别

Help CenterFile Exchange 中查找有关 Surrogate Optimization 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by