我也正在研究PSO方面的。我来答答看:
【求助高手】关于粒子群算法(PSO)待优化函数的问题
【求助高手】关于粒子群算法(PSO)待优化函数的问题
【求助高手】关于粒子群算法(PSO)待优化函数的问题
我认为matlab编程中一般将适应度函数的自变量设为一个行向量,行向量的size为你针对的问题的多少,你的问题中有两个变量影响你的因变量Z,所以x的长度为2.还有,一般用matlab 的pso优化时,需要要自编一个针对你的问题的适应度函数。
顺便说一句,我上面说的只是一般处理方法。你的fitness((x,:)),似乎在matlab中有语法错误。
如果还想问具体的,就给我发短消息吧,我会尽快回答,另外,你的悬赏分怎么这么少呢!老兄,你就这么吝啬吗!
适应度函数跟 想要实现什么功能 有关,把粒子对应成你问题的候选解,适应度函数用来评价给出的这个候选解(粒子)的好坏(好坏的评价标准需要一个量化指标,也就是,粒子的适应度值)
比如你想求出N维空间中离原点近的点(当然是原点,现在设不知道)
设定粒子维数为N,表示候选解。
那适应度函数值可以表示为 f = x1^2 + x2^2 +..................xN^2
只要选择适应度函数值小的那组解救可以了
这个看你设置吧,如果你直接适应度函数设为目标函数,那么适应度值当然越小越好。如果你把适应度设为目标函数的倒数,那么适应度越大越好。这个都没有关系,你在编程的时候注意看下各代适应度值比较时候的大于还是小于符号就可以了。
不知道你所说的多目标是指什么,据我的理解,既然有个目标函数,那么多目标可以在目标函数那里表示,我近也在做这个粒子群算法, 下面是我的vc++6.0代码,改造了一下基本粒子群,求路径的.. #include #include #include using namespace std; d
版权声明:本文内容由互联。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发 836084111@qq.com 邮箱删除。