matlab算法工具箱
A. matlab 阆椾紶绠楁硶宸ュ叿绠辩敤娉曪细 鐩镙囧嚱鏁颁负z=(3050*x(1)^3+0.25*x(2));鍏朵腑x锛1锛夊畾涔夊烟[-0.381,0.381]锛
瀵逛簬杩欑被闂棰桡纴瑕侀氲繃镊瀹氢箟鐩镙囧嚱鏁板拰绾︽潫鍑芥暟钖庯纴鍦ㄥ綋鍓岖洰褰曚笅镓ц岀獥鍙e懡浠
>> optimtool %链浼桦寲宸ュ叿绠
鍦⊿olver阃夋嫨妗嗗唴锛岄夋嫨ga-Genetic Algorithm
铹跺悗鎸夎佹眰锛岃緭鍏ョ洰镙囧嚱鏁癅ga_fun锛屽彉閲2锛寈锛1锛夊拰x锛2锛夌殑涓娄笅鐣屼互鍙婄害𨱒熷嚱鏁癅ga_con
镣瑰嚮Start钖庡缑鍒扮洰镙囧硷纸Final point锛
杩愯岀粨鏋
x1=0.14169943480903302
x2= 5.289387991237991
B. 请教怎么在matlab上安装遗传算法工具箱啊,为什么我安不上啊
安装步骤
1.将GAOT工具箱文件拷贝至Matlab文件夹下,具体路径为:
C:\program files\MATLAB\R2009a\toolbox。(也可以放在其他路径,不一定放在toolbox里面,比如C:\program files\MATLAB\R2009a也行)。
2.将GAOT工具箱路径加入Matlab文件路径之中。流程为:File-->Set Path-->Add with Subfolders。即,将C:\program files\MATLAB\R2009a\toolbox\gaot文件夹加入该路径系统中。
3. 重新启动Matlab,运行。
4. 但是在重新启动后,你会发现在命令窗口,会出现如下警告。即安装遗传工具箱后出现问题:Warning: Name is nonexistent or not a directory: \afs\eos\info\ie\ie589k_info\GAOT
解决方案:打开gaot文件夹下的startup.m,这里面写着“path(path,'\afs\eos\info\ie\ie589k_info\GAOT');”只要将“\afs\eos\info\ie\ie589k_info\GAOT”改为goat当前所在的目录,即“C:\program files\MATLAB\R2009a\toolbox\gaot”就可以了
5.测试是否安装成功,方法如下:在命令窗口输入:edit ga出现如下函数:function [x,fval,exitFlag,output,population,scores] = ga(fun,nvars,Aineq,bineq,Aeq,beq,lb,ub,nonlcon,options)此时你会发现这是MATLAB自带的ga函数,并不是你想要的工具箱中的ga函数,这样会在以后应用工具箱编写程序是发生错误。
6. 解决上述问题的方法:为了统一,不管你是高版本还是低版本,都可以通过将GAOT工具箱中的ga重命名为gaot_ga(名字可以随你定,但是不能改为大写GA,原因是MATLAB会默认大小写函数是同一个函数,不信你可以用edit ga和edit GA验证),来实现解决上述问题。
这样整个的GAOT工具箱安装完备。
C. matlab遗传算法工具箱优化结果数值
ga就是在穷举不可能完成时,用一种方式找到最优解
ga工具的完整形式如下表示
[X,FVAL,EXITFLAG,OUTPUT,POPULATION,SCORES] =
GA(FITNESSFCN,NVARS,A,b,Aeq,beq,lb,ub,NONLCON,options)
X是最优自变量
FVAL是求得的最优值
其他以此是推出标志,结构体,终止时的总群,终止时种群函数值
后半部分以此是目标函数,目标函数自变量个数
A和b是线性约束不等式AX〈b
Aeq和beq是一对线性等式约束,AeqX=beq
lb是X值下限,ub是X值下限
NONLCON是非线性约束函数 options是运行方式。这两个可以写函数自己完成,也可默认
函数默认计算最小值,计算最大值要加负号
D. 使用matlab遗传算法工具箱如何加入目标函数中变量的约束条件啊,可否在M文件中加
首先回答你第一个问题:怎么加入变量的约束条件?
打开遗传算法工具箱的窗体中会有下图所示的选项,即是约束条件的编辑
至于添加的方式,这里要重点的提一下,首先将问题抽象成规划问题的标准形式(如果你不懂什么是标准形式的话,建议你去翻阅运筹学那本书,上告诉你什么是标准形式),然后用矩阵语言写出来,最后将矩阵的系数填写到线性不等约束和线性相等约束中,同时定义所求变量x的上界和下界(记住有多少个变量就有多少列,如果你发现有些条件中没有出现某些变量,那么就应该用0补足,这个是matlab解决规划问题与lingo想比较麻烦的一个地方,)。
然后回答你第二个问题:可否在M文件中添加约束条件?
当然可以,界面的东西是为了方便不熟悉matlab编程的人而设计出来的,但是其底层的算法和接口肯定是有的。
碰到不懂的函数,请记得:help函数名
helpga之后会得到一下一些函数
ga
//这个是定义
Syntax //这个是语法也即是调用的规则
x=ga(fitnessfcn,nvars)
x=ga(fitnessfcn,nvars,A,b)
x=ga(fitnessfcn,nvars,A,b,Aeq,beq)
x=ga(fitnessfcn,nvars,A,b,Aeq,beq,LB,UB)
x=ga(fitnessfcn,nvars,A,b,Aeq,beq,LB,UB,nonlcon)
x=ga(fitnessfcn,nvars,A,b,Aeq,beq,LB,UB,nonlcon,options)
x=ga(problem)
[x,fval]=ga(...)
[x,fval,exitflag]=ga(...)直接给你将最长的那个吧
x=ga(fitnessfcn,nvars,A,b,Aeq,beq,LB,UB,nonlcon,options)
X是返回所求的解
fitnessfcn是适应度函数
nvars是适应度函数中所含变量的维数
A是不等式约束中变量的系数矩阵,b是不等式约束中不含变量的值矩阵
Aeq是等式约束中变量的系数矩阵,beq是等式约束中不含变量的值矩阵
LB是下界,UB是上界
nonlcon是非线性约束条件
至于options嘛 我也木有用过,其实你也可以不用管的。
懂了木有呢,亲?
E. matlab 遗传算法工具箱
有可能是没有了,也有可能是你安装的版本里面没有,需要去官方网站购买。你用的是正版吗?正版的网络授权可以使用大部分的工具箱。 如果是D版,很可能是你用的版本正好没有这个。 如果只是用到一些函数,你可以去别人的电脑复制这个工具箱的函数(老版本的估计也能用),添加路径以后可能也可以用的。
F. matlab遗传算法工具箱安装问题
直接在命令窗口里边输入gatool就行了,用遗传算法还可以使用ga函数,具体使用格式可以在help系统里看ga,你还可以按照如下步骤打开遗传算法工具箱:1,打开matlab,2点击左下方的start按钮
3,点toolboxes,打开后选择genetic
algorithm
and
direct
search
然后就可以进入gatool了,然后就会弹出ga工具箱(注:我的版本是7.7的,不同版本可能不同)