查看完整版本 : [求助]请大家帮忙
exitenter4073
2008-08-21, 15:55
我刚接触matlab,有很多问题不懂.下面这个,大家一定要帮助
function yy=minWater(FF,WW,C,X,FW,FO)
n=3,m=2
FF=zeros(n+m);
WW=zeros(n+m);
C=zeros(n+m,2);
X=zeros(n,1);
FW=zeros(n,1);
FO=zeros(m,1);
我的优化模型中有68个变量,分别是上边六个矩阵的元素.像上边的定义合适吗
我觉着不妥,但又不知怎么弄,请大家指点.
exitenter4073
2008-08-21, 16:18
FF、WW都为5×5矩阵,一共50个元素;C为10个元素;X为3个元素,FW为3个元素;FO为2个元素。
如果用GAOT的话,怎么让这68个元素开始迭代?
把这68个元素用储存为一维向量 当作变量组吧
最后求出结果再还原
用遗传算法我不用GAOT工具箱的
自己写代码少了很多限制
goat工具箱主要有两个主文件: initializega.m和ga.m,两函数的调用格式及参数意义如下:
initializega.m的调用格式为:
Function[Pop]=initializega(num,bounds,eevalFN,eevalOps,opts)
输出参数:
Pop:初始种群
输入参数:
num:种群中的个体数目;
bounds:变量上下限矩阵;
eevalFN:适应度函数;
eevalOps:传递给适应度函数的参数,默认值为[];
opts:选择编码形式的参数,即浮点编码 (默认值为[])或是二进制编码。
ga.m的调用格式为:
[xf,endPop,bPop,trace]=ga(bounds,evalFN,evalOps,startPop,opts,termFN,termOps,selectFN,selectOps,xOverFNs,xOverOps,mutFNs,mutOps)
输出参数:
xf:优化解;
endPop:最终种群;
bPop:最终种群的一个轨迹;
trace:每一代种群中的最好个体和平均结果矩阵。
输入参数:
bounds:变量上下限矩阵;
evalFN:适应度函数;
evalOps:适应度函数的输入选项,默认为[];
startPop:初始种群;
opts:向量[epsilon prob_ops display],其中epsilon表示两代之间的差距,prob_ops取0时为二进制编码,取1时为浮点编码(计算精度较高),display表示运行时是否显示当前个体和最好结果。默认值为[1e-6 1 0];
termFN:终止函数,默认值为[‘maxGenterm’];
termOps:向终止函数输入的参数,默认值为[100];
selectFN:选择函数;
selectOps:选择参数;
xOverFNs:一个包含空格字符串的xOver.m文件;
xOverOps:xOver.m文件的输入参数矩阵;
mutFNs:一个包含空格字符串的mutation.m文件;
mutOps:mutation.m文件的输入参数矩阵。
基于Matlab的遗传算法工具箱有好多种,是不同的人在不同的时间开发的,现在已知的有:
GAOT 这个工具箱用的似乎是最广的,虽然不是Matlab自带的,但在网上也很容易下载到。然而它的版本实在是太老了,是适用于Matlab5.0版的,因为它的全名是The Genetic Algorithm Optimization Toolbox (GAOT) for Matlab 5,而且似乎到目前为止还没有更新版本发布。中国学术期刊网上大部分研究遗传算法的中文论文都是使用的这个工具箱(这些文章全部太垃圾了,水平极低而且还遮遮掩掩的,大部分都是到处引用,没有一篇有点创新之处的。居然还有些的程序和论文中提到的算法完全无关,让我很是无语。)
GADS 这个是Matlab7.0版本自带的工具箱,全名叫Genetic Algorithm and Direct Search Toolbox。在Matlab7.0的Help里面有对这个工具箱的详细介绍,还有很多例子作演示。
SGALAB 解决多目标遗传算法的程序。
gatbx 菲尔德大学开发的。
houz5559
2008-10-07, 12:36
:cool: 看了有点启发,再看看其他的
vBulletin® v3.8.3,版权所有 ©2000-2025,Jelsoft Enterprises Ltd.