geatpy icon indicating copy to clipboard operation
geatpy copied to clipboard

如何设置交叉率和变异率

Open abc-hy opened this issue 2 years ago • 3 comments

开发者您好:

(1)想请教一下如何设置交叉率:我在下面这个快速入门的文档上看到, http://geatpy.com/index.php/2020/10/19/3-%E5%BF%AB%E9%80%9F%E5%85%A5%E9%97%A82-6-x/ 在main.py里设置:pc=0.4,就可以了。 但是我在另外一个例子里看到需要写: myAlgorithm.recOper.XOVR = 0.5 # 设置交叉概率 到底采用哪个呢?

(2)如何设置变异率呢?我在上面链接的例子里看到:pm=1/Lind, Lind是染色体的长度。这个染色体的长度可以自己设置吗?还是说每个染色体长度都是某个值呢?

谢谢。

abc-hy avatar Jul 08 '21 02:07 abc-hy

(1) 文档里面的pc只是传入函数的参数,你可以把它命名成任何合法的标识符。真正的参数名要看你调用的内核函数的传入参数叫什么。 (2) 染色体长度取决于决策变量的个数和编码的方式。变异概率你可以随意设置。

geatpy-dev avatar Jul 08 '21 10:07 geatpy-dev

但是变异概率已经等于1/Lind,就相当于已经被染色体的长度决定了,还能设置吗? 所以,我可以任意命名一个交叉率的参数,然后我的内核函数都能识别吗?还是说,我必须进到我内核函数里面去看,真正的参数名是什么,再设置呢?

On Thu, Jul 8, 2021 at 5:34 AM geatpy @.***> wrote:

(1) 文档里面的pc只是传入函数的参数,你可以把它命名成任何合法的标识符。真正的参数名要看你调用的内核函数的传入参数叫什么。 (2) 染色体长度取决于决策变量的个数和编码的方式。变异概率你可以随意设置。

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/geatpy-dev/geatpy/issues/204#issuecomment-876327904, or unsubscribe https://github.com/notifications/unsubscribe-auth/APF2ZCVDFF7M67AIZXWFUHDTWV5MTANCNFSM477ZBOHQ .

abc-hy avatar Jul 08 '21 10:07 abc-hy

变异概率你可以随意设置。 第二个问题是python编程问题,查阅相关资料就明白了。

geatpy-dev avatar Jul 08 '21 11:07 geatpy-dev