今天阿氪来给大家分享一些关于遗传算法工具箱遗传算法限制条件怎么加方面的知识吧,希望大家会喜欢哦
1、打开遗传算法工具箱的窗体中会有所示的选项,即是约束条件的编辑至于添加的方式,这里要重点的提一下,首先将问题抽象成规划问题的标准形式如果你不懂什么是标准形式的话,建议你去翻阅运筹学那本书。
2、般有两种 *** ,一种是在生成初始种群时只生成满足约束的个体;另一种是随机产生个体,并且在随后的操作中判断个体是否满足约束条件。
3、只要你的遗传算子选对,进化过程中上下限约束就能满足;若是其它连续性变量的线性或非线性约束,可采用罚函数法将这些约束加入目标函数(适应度函数)中,这样就能保证最优解在约束范围内。
4、把你的约束写在一个m文件的function中,函数名比如取为:xconstr则将@xconstr写到nonlinearconstraintfunction后面的框里,应该就可以了。线性约束的话直接写在上方的栏目中。
1、打开MATLAB软件。设置一个m文件,用于计算个体的适应度函数输出值一个适应度,输入是要优化的参数。输入“gatool”指令打开工具箱。如图所示,打开的ga工具箱界面。
2、将GAOT工具箱文件拷贝至Matlab文件夹下,具体路径为:C:\programfiles\MATLAB\R2009a\toolbox。(也可以放在其他路径,不一定放在toolbox里面,比如C:\programfiles\MATLAB\R2009a也行)。
3、按从上到下,从左到右的顺序对Matlab自带的遗传算法工具箱GUI界面进行介绍和使用注意事项说明。对应于非线性约束求解器指定另外一个最小值函数,在遗传算法结束之后计算,在整数值限制的时候不可用。
4、自带有一个,但是一般都不用它,因为不好用。建议去网上下载gaot(北卡罗来纳大学开发)或GATBX(谢菲尔德大学开发)的安装。
1、用matlab的ga()遗传算法函数,求得其函数的最小值。
2、可以这样,用这两个限制条件的等式把8个未知量的目标函数降维成6个未知量的目标函数,把这个作为适应度函数,问题转变成6个未知量,限制条件0=xi=1,的遗传算法问题。这个目标函数是线性的应该很容易搜索出最小值。
3、保存为ofun.m.新建一个约束函数:function[Aeq,beq]=consts(x)Aeq=[x(1)^2+x(2)];beq=[];保存为contrs.m然后再新建一个m文件,粘贴下面的命令,然后运行,最后x(1),和x(2)的值在x里面。
4、你最好能提供具体的二元函数表达式,这样就可以有目的去帮你解决。一般遗传算法可以用ga()函数来求解。
5、MATLAB用遗传算法ga求含有最大值的最小值问题,可以这样处理:由于最大值问题的反问题就是最小值问题,所以max=-min。
本文到这结束,希望上面文章对大家有所帮助
转载请注明:氪金游戏网 » 资讯攻略 » 遗传算法工具箱遗传算法限制条件怎么加
本文仅代表作者观点,不代表氪金游戏网立场。
本文系作者授权发表,未经许可,不得转载。
1条评论
观点鲜明,逻辑清晰,让人信服,是一篇不可多得的好文章。http://www.ghzszy.com/down_48_txt.html