Recommended to read the paper " Optimization Calculation Based on Matlab Genetic Algorithm Toolbox-Chen Qiulian "
For specific information about the GAOT toolbox, please go to Baidu. Here we mainly look at how to set the cross probability and mutation probability in the GAOT toolbox.
First look at the explanation of ga.m in the GAOT toolbox
ga run a genetic algorithm
function [x,endPop,bPop,traceInfo]=ga(bounds,evalFN,evalOps,startPop,opts,
termFN,termOps,selectFN,selectOps,
xOverFNs,xOverOps,mutFNs,mutOps)
Output Arguments:
x - the best solution found during the course of the run
endPop - the final population
bPop - a trace of the best population
traceInfo - a matrix of best and means of the ga for each generation
Input Arguments:
bounds - a matrix of upper and lower bounds on the variables
evalFN - the name of the evaluation .m function
evalOps - options to pass to the evaluation function ([NULL])
startPop - a matrix of solutions that can be initialized
from initialize.m
opts - [epsilon prob_ops display] change required to consider two
solutions different, prob_ops 0 if you want to apply the
genetic operators probabilisticly to each solution, 1 if
you are supplying a deterministic number of operator
applications and display is 1 to output progress 0 for
quiet. ([1e-6 1 0])
termFN - name of the .m termination function (['maxGenTerm'])
termOps - options string to be passed to the termination function
([100]).
selectFN - name of the .m selection function (['normGeomSelect'])
selectOpts - options string to be passed to select after
select(pop,#,opts) ([0.08])
xOverFNS - a string containing blank seperated names of Xover.m
files (['arithXover heuristicXover simpleXover'])
xOverOps - A matrix of options to pass to Xover.m files with the
first column being the number of that xOver to perform
similiarly for mutation ([2 0;2 3;2 0])
mutFNs - a string containing blank seperated names of mutation.m
files (['boundaryMutation multiNonUnifMutation ...
nonUnifMutation unifMutation'])
mutOps - A matrix of options to pass to Xover.m files with the
first column being the number of that xOver to perform
similiarly for mutation ([4 0 0;6 100 3;4 100 3;4 0 0])
Then I directly extract the following explanations in the paper:
So from here, in most cases, the selection method of the GA algorithm is the roulette method, other selection methods can be used in the GAOT toolbox, and the selection probability can be set. In the crossover operation, if you use the arithXover method in GAOT, the crossover probability is random:
but we can set it ourselves. For example, in the above picture, I set the crossover probability to 0.4.