- Choose an interpolant. Again, whatever makes you happy. Recognize that higher order interpolation in high dimensions will do strange things. Even a putatively LINEAR interpolation in higher dimensions will have some very strange looking artifacts! And you can't plot anything in 6 dimensions, so you can't even look at the result. Life sucks. Live with it.
- Build an objective function that allows you to return a scalar value for any input. Test it.
- Wrap an optimizer around the objective. Your choice. You may or may not need to worry about constraints. We don't know, since you don't tell us.
Global optimization strategy with local interpolation
4 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
I'm developing a fitting routine to compare experimental spectra to a library of synthetic spectra computed for a set of 6 physical parameters. I'm using the least-absolute-residuals (LAR) as the score function to be minimized. So I'm facing a global optimization problem, where I need to find the global minimum of the resulting 6-dimensional LAR hypersurface.
In order to minimize the size of the synthetic library to use, I would like to use a relatively coarse grid (~10 points per parameter), and have a local interpolation of the LAR surface in the neighbourhood of the global minimum.
I need this routine to evaluate a large sample of experimental spectra (>10.000), so each evaluation must be cost-effective.
Can someone suggest an effective strategy using the Global Optimization Toolbox?
0 Commenti
Risposte (1)
John D'Errico
il 3 Set 2024
Modificato: John D'Errico
il 3 Set 2024
You want to use a high dimensional local interpolation method, so in 6 dimensions. Since you are using it to find a local optimum, it needs to be a higher order interpolation. It sounds like you have a complete 6-dimensional lattice where the grid lives. But you want everything to be fast. The result may be something that is not differentiable. Anyway, some sort of piecewise higher order interpolant. And you want all of this done inside calls from the GOTB.
You want an effective strategy, based on this terribly vague description? Far too much hand waving there.
Start by doing SOMETHING, ANYTHING that works, that makes you happy with the result. The process would be:
There really is not much more of a strategy than that.
Only if you find it is too slow at some point should you worry about speed. If it is too slow, and you don't want to re-read the complete works of Shakespeare for the third time (don't skip the footnotes) while you are waiting for it to finish, then you will look for the bottleneck(s). You will only then make decisions about whch corners to cut, what simplifications are acceptable.
0 Commenti
Vedere anche
Categorie
Scopri di più su Surrogate Optimization in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!