Rumia's blog

Matlab自带的遗传算法工具箱已经将常用的遗传运算命令进行了集成,用户使用很方便。但是封装的工具箱内部命令不能根据特殊需要进行相应调整和修改。从这个角度上来说,具有人工智能性质的GA Toolbox是一种傻瓜式的智能,或智能式的傻瓜。

遗传算法与直接搜索工具箱有 ga,gaoptimset,gaoptimget 3个核心函数。

ga函数 (求解目标函数的最小值)

[x,fval,exitflag,output,population,scores]=ga(fitnessfcnmnvars,...options) %调用格式

其中:

gaoptimset 函数

gaoptimset 函数是设置遗传算法的参数和句柄函数,常用的属性如下

序号 属性名 默认值 实现功能
1 PopInitRange [0;1] 初始种群生成空间
2 PopulationSize 20 种群规模
3 CrossoverFraction 0.8 交配概率
4 Migration 0.2 变异概率
5 Generations 100 超过进化代数时算法停止
6 TimeLimit Inf 超过运算时间限制时算法停止
7 FitnessLimit -Inf 最佳个体等于或小于适应度阈值时算法停止
8 StallGenLimit 50 超过连续代数不进化则算法停止
9 StallTimeLimit 20 超过连续时间不进化则算法停止
10 InitPopulation [] 初始化种群
11 PlotFcns [] 绘图函数
options=gaoptimset('param1',value1,'param2',value2,...)   %调用格式

gaoptimset

该函数用于得到遗传算法参数结构中的参数具体指。

val = gaoptimset(options,'name')   %调用格式

###