amanda-mat 发表于 2009-10-31 10:33:40

遗传算法工具箱二进制编码和浮点数编码的问题

了解到遗传算法有二进制编码和浮点数编码这两种编码方法,一直在探索如何在遗传算法工具箱中实现这两种编码。在网上下了一个工具箱函数,是雷英杰那本书里面用到的,创建种群的函数有crtbase,crtbp和crtrp,如果我没有理解错的话,crtbp应该就是指二进制编码,crtrp就是指浮点数编码,但是我用GUI工具(因本人编程基础很弱,所以用GUI工具方便一些)却无法顺利运行。

适应度函数我确定没有问题(9个自变量),用crtrp这个函数创建种群的时候,出错代码是:
Error: File: C:\Program Files\MATLAB71\toolbox\genetic\crtrp.M Line: 34 Column: 19

"nargin" previously appeared to be used as a function or command, conflicting with its use here as the name of a variable.

A possible cause of this error is that you forgot to initialize the

variable, or you have initialized it implicitly using load or eval.
我按着提示,把crtrp里面的nargin改了改,没用,我又把它给改回来了,再运行的时候出错提示变成:
GA running.
Error using ==> crtrp
Too many input arguments.

适应度函数我用默认设置运行过,没有问题(1个自变量),然后用crtbp创建种群的时候,出错代码是:
GA running.
Function 'mtimes' is not defined for values of class 'struct'.
我找了一下crtbp文件中并没有mtimes和struct这两个东西,这两个东西的路径分别是
which mtimes
built-in (C:\Program Files\MATLAB71\toolbox\matlab\ops\@logical\mtimes)% logical method
>> which struct
built-in (C:\Program Files\MATLAB71\toolbox\matlab\datatypes\struct)

究竟是什么错误呢?百思不得其解啊,请各位大侠指教!谢谢!
附上我用的GUI工具给大家以直观的理解,请指教!

amanda-mat 发表于 2009-10-31 10:42:09

补充说明一下,我用的是MATLAB7.1

amanda-mat 发表于 2009-11-2 22:23:27

怎么没有人回答啊,快帮帮忙啊,谢谢啦!

huhuanzhuo 发表于 2010-5-9 10:02:07

自己编啦,不要依赖工具箱

mybrandy 发表于 2010-12-22 21:18:41

固定变量varargin和varargout可以用来输入任意个参数给函数,也能够返回任意多个输出。函数varargin和varargout把实际的函数调用时传递的参数值封装成一个元胞数组。
不知道你的nargin是否应该为varargin?

yuanbashou 发表于 2011-12-16 11:37:52

huhuanzhuo 发表于 2010-5-9 10:02 static/image/common/back.gif
自己编啦,不要依赖工具箱

求教,我自己编写了一个程序,但是只能用来求解无约束的问题,在求解有约束问题时,用到了那个罚函数法来求解有约束问题,但是总是得不到收敛解,也就是罚因子一直在变大,一直不收敛。请问这是为什么呢?

QQ811451104 发表于 2011-12-17 16:39:26

求解有约束问题时,问题的关键是如何产生符合约束条件的解,以及遗传过程中把非法解改成合法解,罚函数个人认为效果很不好!
页: [1]
查看完整版本: 遗传算法工具箱二进制编码和浮点数编码的问题