How to Change Initial Number of Random Points in Genetic Algorithm?

1 view (last 30 days)
I need to increase initial number of parameter value combinations for GA to increase likelihood to find the best solution. How to change this setting?

Accepted Answer

Star Strider
Star Strider on 4 Feb 2022
Create an options structure using optimoptions, and define 'InitialPopulationMatrix' to the correct dimensions for your problem.
For example, I use this to start with —
PopSz = 500;
Parms = 10;
opts = optimoptions('ga', 'PopulationSize',PopSz, 'InitialPopulationMatrix',randi(1E+4,PopSz,Parms)*1E-3, 'MaxGenerations',2E3, 'FunctionTolerance',1E-8, 'PlotFcn',@gaplotbestf, 'PlotInterval',1);
where ‘PopSz’ are the number of individuals, and ‘Parms’ are the number of parameters. After that, create the initial poulation matrix however you like. (My code here is only an example.) If the optimisation proceeds too slowly, I reduce ‘PopSz’ to 100 and then re-start the optimisation.
.
  6 Comments
Dario Miric
Dario Miric on 5 Feb 2022
Edited: Dario Miric on 5 Feb 2022
Yes, thank you. Are you a chemist or chemical engineer since you mention kinetics and concentrations? If so, I am using GA for NRTL and UNIQUAC activity coefficient model parameters optimization.
Star Strider
Star Strider on 5 Feb 2022
As always, my pleasure!
Guilty of the first (undergraduate major), not of the second. (My M.S. is in Biomedical Engineering.) A lot of my activities in this area are summarised in this search.
I am using GA for NRTL and UNIQUAC activity coefficient model parameters optimization.
My apologies, however I do not understand those acronyms.
See for example Parameter Estimation for a System of Differential Equations for one approach to using ga to solve kinetics problems, in this instance a relatively small and straightforward one with an abundance of data. (I checked first to be sure that it has the latest version of the relevant code.) I can generally get ga to converge on a decent set of parameters. The problems arise when the differential equations do not appropriately describe (are the wrong model for) the data.
I have some experience in this area, so if you encounter problems, I might be able to provide solutions. I will at least give them my best effort.

Sign in to comment.

More Answers (0)

Products


Release

R2020a

Community Treasure Hunt

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

Start Hunting!