Is there a way to manually input an objective function value to find the next iteration x values?

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.

Respuestas (2)

John D'Errico
John D'Errico el 28 de Nov. de 2016
Editada: John D'Errico el 28 de Nov. de 2016
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

That is the command I am using. Is it possible to enter in the objective function value manually? noise is fine.

Iniciar sesión para comentar.

Build a function that calls input() and returns that value.
I don't see any point in this.

1 comentario

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.

Iniciar sesión para comentar.

Preguntada:

el 28 de Nov. de 2016

Comentada:

el 28 de Nov. de 2016

Community Treasure Hunt

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

Start Hunting!

Translated by