Multiple population Genetic Algorithm

7 次查看(过去 30 天)
I am using the built in GA function for optimisation with customised creation, crossover, mutation and fitness functions. I have tried 10 runs of GA separately for the same problem and the optimum results is seen to vary in each case. In few cases I have obtained the Global minimum as solution (I have tried on a problem whose global minimum solution is known to me). In other cases the solution is getting stuck at a local minimia. I would like to try a Multiple Population Genetic Algorithm to prevent it from getting stuck at a local minima. Is there a way to implement this using the built in GA function in MATLAB?

采纳的回答

Walter Roberson
Walter Roberson 2022-9-14
Sorry, No.
The internal code for unconstrained ga is able to handle "sub-populations", which for that routine is activated by the PopulationSize option being a vector of values.
However... the public ga() interface does not permit inputting a vector.
  1 个评论
Walter Roberson
Walter Roberson 2022-9-15
The internal code that permits vector population size, is inside a "private" directory, and so cannot be called by functions outside the parent directory.

请先登录,再进行评论。

更多回答(1 个)

Sam Chak
Sam Chak 2022-9-14
You can try specifying the Population Options in optimoptions().
opts = optimoptions(@ga, 'PlotFcn', {@gaplotbestf, @gaplotstopping});
opts.PopulationSize = ... ;
opts.InitialPopulationRange = ... ;

类别

Help CenterFile Exchange 中查找有关 Genetic Algorithm 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by