Multiple population Genetic Algorithm

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?

 采纳的回答

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 个评论

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 个)

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

类别

Community Treasure Hunt

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

Start Hunting!

Translated by