matlab 遗传算法工具箱函数及实例讲解 最近研究了一下遗传算法,因为要用遗传算法来求解多元非线性模型。还好用遗传算法的工具箱予以实现了,期间也遇到了许多问题。首先,我们要熟悉遗传算法的基本原理与运算流程。 基本原理:遗传算法是一种典型的启发式算法,属于非数值算法范畴。它是模拟达尔文的自然选择学说和自然界的生物进化过程的一种计算模型。它是采用简单的编码技术来表示各种复杂的结构,并通过对一组编码表示进行简单的遗传操作和优胜劣汰的自然选择来指导学习和确定搜索的方向。遗传算法的操作对象是一群二进制串(称为染色体、个体),即种群,每一个染色体都对应问题的一个解。从初始种群出发,采用基于适应度函数的选择策略在当前种群中选择个体,使用杂交和变异来产生下一代种群。如此模仿生命的进化进行不断演化,直到满足期望的终止条件。 运算流程: Step 1:对遗传算法的运行参数进行赋值。 参数包括种群规模、变量个数、交叉概率、变异概率以及遗传运算的终止进化代数。 Step 2:建立区域描述器。根据轨道交通与常规公交运营协调模型的求解变量的约束条件,设 置变量的取值范围。 Step 3:在 Step 2 的变量取值范围内,随机产生初始群体,代入 适应度函数 计算其适应度值。 Step 4:执行比例选择算子进行选择操作。 Step 5:按交叉概率对交叉算子执行交叉操作。 Step 6:按变异概率执行离散变异操作。 Step 7:计算 Step 6 得到局部最优解中每个个体的适应值,并执行最优个体保存策略。 Step 8:判断是否满足遗传运算的终止进化代数,不满足则返回 Step 4,满足则输出运算结果。 其次,运用遗传算法工具箱。 运用基于 Matlab 的遗传算法工具箱非常方便,遗传算法工具箱里包括了我们需要的各种函数库 。目前,基于 Matlab 的遗传算法工具箱也很多,比较流行的有英国设菲尔德大学开发的遗传算 法工具箱GATBX、GAOT 以及 Math Works公司推出的 GADS。实际上,GADS 就是大家所看到的 Matlab 中自带的工具箱。我在网上看到有问为什么遗传算法函数不能调用的问题,其实,主要 就是因为用的工具箱不同。因为,有些人用的是 GATBX 带有的函数,但 MATLAB 自带的遗传算法 工具箱是 GADS,GADS 当然没有 GATBX 里的函数,因此运行程序时会报错,当你用 MATLAB 来编写 遗传算法代码时,要根据你所安装的工具箱来编写代码。 以 GATBX 为例,运用 GATBX 时,要将 GA...