geatpy icon indicating copy to clipboard operation
geatpy copied to clipboard

多染色体如果设置先验知识

Open zwh9437 opened this issue 3 years ago • 3 comments

您好,我有看到如果是单染色体的话 用 prophetPop = ea.Population(Encoding, Field, 1, prophetChrom) # 实例化种群对象(设置个体数为1) myAlgorithm.call_aimFunc(prophetPop) # 计算先知种群的目标函数值及约束(假如有约束) 可以实现

但是在多染色体混合编码的时候,就算 population = ea.PsyPopulation(Encoding, Field, NIND) # 实例化种群对象(此时种群还没被初始化,仅仅是完成种群对象的实例化) prophetPop = ea.PsyPopulation(Encoding, Field, 1, prophetChrom) # 实例化种群对象(设置个体数为1) myAlgorithm.call_aimFunc(prophetPop) # 计算先知种群的目标函数值及约束(假如有约束)

这样会报错 image 请问该如何设置?

zwh9437 avatar Jul 02 '21 06:07 zwh9437

说明调用有误,单步调试不难解决该问题。

geatpy-dev avatar Jul 02 '21 07:07 geatpy-dev

说明调用有误,单步调试不难解决该问题。

嗯我用单编码方式,没有问题,可以成功 同样的先验知识,到混合编码,就报错了。种群已经改成Psy了。 想知道是不是我先验种群设置的问题?

zwh9437 avatar Jul 02 '21 07:07 zwh9437

嗯,是的。这些代码都看得到,很容易解决。

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