admin管理员组

文章数量:1794759

Matlab遗传算法工具箱使用简介

Matlab遗传算法工具箱使用简介

1镀金项链.简介

遗传算法是现代优化算法之一,为方便使用Matlab提罗非鱼图片供了遗传算法工具箱,可以方便我们解决一般的优化问题。

遗传算法工具箱的打开途径为:首先在App中找到Optimization工具箱

然后在Solver中找到ga打开就行了,具体的显示界面如下:

我们主要用到的就是左边这一块了,在里面输入参数就行了。Constraints中的参数含义如下:

2.例题

下面我通过几个例题来介绍参数怎么输入

例1,求解f(x)的最小值

首先我们要编写适应度函数,一般就是目标函数,保存为m函数文件

接下来就是输入参数了

在Fitness function(适应度函数)处输入@目标函数名(因为此处传递的是函数句柄所以色斑如何消除一定要加@,苹果软件开发不然会出错),Number of Variables是指待求爆龙战队暴连者变量的个数,接下来就是输入约束条件了,以为此处约束条件是xi是0到0.9pi之间的实数,所以只股权激励方案设计需要在Bound处输入就行了,然后点击Start按钮就会求出结果。

例2

这个是求最大值,但遗传算法工具箱只能求最小值,所以我们编写适应度函数时在目标函数前加个负号就行了(当-z最小时,z也就最大了)。

目标函数为

以为此处设计膨体隆鼻效果到了不等式约束,所以需要先在Ma底特律活塞tlab中定义不等式约束,它的不等式约束表示形式为

在工作区要有约束条件的矩阵变量,和例1不同的是只需要在约束处添加不等式约束就行了。这求的是最大值的相反数。

例3

这题和前面不一样的是涉及到了非线性约束,所以需要编写非线性约束条件。

适应度函数

非线ssl原理性约束m函数文件

其中c代表

ceq代表

此题英雄杀手斯坦因相对前面的需要在Constraints中的Nonlinear constraint function处输入非线性约束m文件函数

以上例题还没有涉及到的参数由Aeq,beq这是线性等式约束的条件,以及Interger variable indices处的参数(这是指明那个参数是整数,如第2个变量和第4个变量为整数,则需要在此处填入行向量[2,4])。而如果青海自助游想对ga函数进行修改,及修改ga函数的默认参数,可在下面的options板块进行修改。

以Option板块的第一部分Population为例进行讲解。

如Population type选项有三种选择,具体如下,可选择实数编码(Double)、二进制编码(Bit string)或者自定义(custom)。

对于Population s夜间外阴瘙痒ize选项是对种群数量进行设置的,有默认选项,贾斯汀比伯吸毒如果为默认选项则对于待优化变量数量小于等于5时,种群数炒股培训量设置为50,待优化变量数量大于5时设置为20二点委夜蛾0,可以选择Specify设置自己的种群数量如500.

对于Options板块用法不清楚的可参看操作界面最右边的Options板块,Options里面场景模型对各个参数有详细解释。

3、代码操作

上述操作是ga函数的可视化操作,对于高版本无法使用上述操作界面的,可使用代码进行遗传算法优化,可在命令行输入doc ga命令查看ga函wifi辐射数的使用方法。

上述为官方文档关于ga函数的使用语法,还是先介绍一下如何使用,fun为目标函数,nvars为待优化变量个数,A,b,Aeq,beq,lb,ub等参数的形式如下:

nonlcon为非线性约束,对应c(x)<=0,ceq(x)=0.具体如何编码可见帮助文档如下,IntCon的使用可见上文使用方法。

本文主要介绍options操作,通过此操作可定制自己遗传算法求解特定的模型。要使用options,第一步是得到设置的结构体刘伯温预言,代码为options=optimoptions('ga')。运行得到遗传算法的设置信,下面就可以使用结构体进行设置了。optimoptions函数也可以用来设置其他优化算法的参数,如fmincon函数optimoptions(‘fmincon’)。

以下面例题来进行演示。

详工业标准见下面下面代码:

由于时间有限,想到什么就写些什么,后面会不定时的更新matlab工具箱的用法(如采对其进行改进),想了解更详细的操作,建议阅读参考文档。

如果对我发布的文章感兴趣可以关注一下我的个人公众号 MATLAB分享 内附实例及对应的完整代码,淘宝搜索排名规则并且后期我会在公众号里面分享我做过的代码以及搜集到的资料。

本文标签: 工具箱算法简介MATLAB