粒子群算法的编码方式有哪些?

2022-04-30 21:33:06 +08:00
 yanyumihuang

在解决一个函数的最大值时碰见了问题,老师让用遗传算法和粒子群算法进行求解,我采用了浮点数方法进行编码,并写出了相应的代码。交上去后,老师说编码方式有不小的问题。遗传算法猜测可以用二进制来替换原来的浮点数编码,但粒子群我就不太清楚该怎么改了。本人是刚接触这个优化算法,老师也只是说编码方式有问题,搜了很多资料根本没有提到粒子群的编码方式,因此发帖求求大佬点醒 初始化粒子的位置

 public static float[] initData(){
        float[] data=new float[8];
        for (int i = 0; i < 8; i++) {
            data[i]= (float) (Math.random() * (GeneticAlgorithm.max - GeneticAlgorithm.min) + GeneticAlgorithm.min);
        }
        return data;
    }

初始化粒子的速度

    public static float[] initVelocity(){
        float[] velocity=new float[8];
        for (int i = 0; i < 8; i++) {
            velocity[i]= (float) (Math.random() * (velocityMax - velocityMin) + velocityMin);
        }
        return velocity;
    }
633 次点击
所在节点    问与答
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/850262

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX