surrogateopt: get handle of optimized surrogate function

Dear community
Currently, I'm using surrogateopt from the global optimization toolbox to minimize a computationally expensive objective function (using third party computer code). I'm wondering, is it possible to get a function handle of the optimized surrogate function or at least the functional form and corresponding coefficients? I've checked the manual and the only thing, which I've found are the functional values at the evaluated points but not the function itself. In one of the help pages in the manual, it's mentioned that the surrogate is a radial basis function. If one can't obtain the surrogate function handle, could one retrieve the coefficients of the surrogate somehow?
Thank you so much for your help
Best
David

 Accepted Answer

Alan Weiss
Alan Weiss on 23 Aug 2021
Edited: Alan Weiss on 23 Aug 2021
Sorry, the surrogate is not returned and is not available. We have no idea whether the surrogate is a good approximation to the objective function or not, and so we decided not to return a potentially misleading surrogate.
You are not the first to request this functionality. See this answer.
Alan Weiss
MATLAB mathematical toolbox documentation

4 Comments

Dear Alan
Thank you very much for your fast reply. I have to apologize that I opened this question eventhough it was already asked in a previous post. Unfortunately, I didn't find the linked post in the first place.
Coming back to my question, I'm fully aware that the surrogate would have to be treated with great care. My motivation to get the surrogate is to provide more accurate contour lines /isolines for the evaluated objective function than simply using linear interpolation between the evaluated points. Wouldn't it be possible to retrieve the surrogate by fitting the functional form of the surrogate to the provided surrogate values at the evaluated points? In this case, I would have to know of course the functional form. Could you maybe reveal the exact functional form, which is used in the surrogateopt function?
Thank you so much for your support
Best
David
The surrogate is based on the references. In particular, References 3 and 4 are the closest to the implementation, I believe. In case you haven't looked, the Wikipedia article on RBF is pretty clear, though far from complete. You should be able to program up your own RBF interpolator, though whether it will be close to ours is not clear.
Good luck,
Alan Weiss
MATLAB mathematical toolbox documentation
Dear Alan
Thank you very much for your support. I will check the articles and come back if something exceeds my capabilities.
Best
David
I certainly think it would be beneficial to be able to visualize how the surrogate changes with each iteration. Of course, the number of dimensions must be feasible.

Sign in to comment.

More Answers (0)

Products

Release

R2020b

Community Treasure Hunt

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

Start Hunting!