passing variable through pattern search iterations
2 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Andrea Agosti
il 30 Mar 2020
Modificato: Venus liria silva mendes
il 5 Mag 2021
Hi everyone!
I'm using pattern search to solve a minmax problem. I know that pattern search:
1) Starts witha a polling phase where it polls the points in the current mesh by computing their objective function values,
2) it groups all the values of the objective functions and it select the mesh case with highest objective function value,
3) it moves the mesh in the last successful poll point (or it leaves the central mesh point as before) and starts again from 1),
4) this continues untill convergence is reached (possibly).
My question is: Is it possible to pass a variable from the best objective function (point 2) to the next polling phase (point 3)?
Many thanks!
3 Commenti
Venus liria silva mendes
il 4 Mag 2021
Modificato: Venus liria silva mendes
il 5 Mag 2021
Hi everyone
%% Modify options setting
my example problem:
[combination, custototal, exitFlag, Output, population, scores] = ga (@ smc09v7AG_01, n_vars, A, b, Aeq, beq, LB, UB, NON_linear, Integral_variables, settings)
'' population '' I'm not sure if all individuals from all generations or just the last one return. And the "scores" returns the evaluations of each one.
Hope it works!
https://www.mathworks.com/help/gads/genetic-algorithm-options.html
Risposta accettata
Ameer Hamza
il 31 Mar 2020
Following code shows how to get the information from each iteration of patternsearch
global x_iterations y_iterations
x_iterations = [];
y_iterations = [];
obj_fun = @(x) sum(x.^2.*exp(x.^2).*abs(log(x+1)));
opts = optimoptions('patternsearch', 'OutputFcn', @myOutFcn);
[x_final, f_final] = patternsearch(obj_fun, rand(1,10), [], [], [], [], [], [], [], opts);
function [stop, options, optchanged] = myOutFcn(optimvalues, options, flag)
global x_iterations y_iterations
x_iterations = [x_iterations; optimvalues.x];
y_iterations = [y_iterations; optimvalues.fval];
stop = false;
optchanged = false;
end
This page show how to define the outputFcn to get more detail for each iteration of the optimization algorithm: https://www.mathworks.com/help/gads/pattern-search-options.html#f14623
4 Commenti
Zakaria
il 6 Apr 2020
Does this methodology work with Genetic Algorithm optimizioation ?
I noticed that the structure of the OutputFcn is not the same.
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Direct Search 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!