Is there a way to manually input an objective function value to find the next iteration x values?
Mostrar comentarios más antiguos
I am using particle swarm optimization (function built into Matlab but I don't see it in the optimization toolbox) experimentally. This means I am creating a sample that the code generates the parameters for. I then characterize this sample and will input the experimental value of the objective function to generate the parameters to make the next sample. This means that I do not care about the calculated (theoretical) value for a set of parameters and only want to input the experimental value for that set of parameters. How do I go about this? I need to do this for a swarm size of 6.
1 comentario
Walter Roberson
el 28 de Nov. de 2016
particleswarm is the Global Optimization toolbox by the way
Respuestas (2)
John D'Errico
el 28 de Nov. de 2016
Editada: John D'Errico
el 28 de Nov. de 2016
0 votos
What do you mean that it is built into MATLAB? No, PSO tools are NOT part of MATLAB proper. There are PSO toolboxes you can download from the FEX. I see the Global Optimization TB does not yet have a PSO tool in it. Perhaps you don't know where you got the tool you are using, something that is not unusual. It is NOT part of MATLAB itself though.
As far as using experimentally measured values at each iteration, this will cause problems, since then you have noise in the process. In turn, that will cause problems for any optimizer.
You may want to do some reading about response surface methodology , an area of statistics that deals with this problem.
2 comentarios
Walter Roberson
el 28 de Nov. de 2016
Editada: Alan Weiss
el 28 de Nov. de 2016
Sean Hathaway
el 28 de Nov. de 2016
Walter Roberson
el 28 de Nov. de 2016
0 votos
Build a function that calls input() and returns that value.
I don't see any point in this.
1 comentario
Walter Roberson
el 28 de Nov. de 2016
Perhaps you should use CreationFcn option along with input(). You could combine this with a cache system so that if the swarm ever happened to ask to evaluate exactly one of those again that you could return the value input.
Categorías
Más información sobre Particle Swarm en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!