geatpy icon indicating copy to clipboard operation
geatpy copied to clipboard

请问geatpy是否支持个体是一个n*m的矩阵

Open MaleicAcid opened this issue 3 years ago • 3 comments

比如我的解是一个1000*6的矩阵 geatpy支持这样的矩阵作为个体吗?

还有求问大佬, 如果我希望这个解(矩阵), 某一列中按行索引顺序每30个数允许取一次0, 这样的约束应该怎么写, 只能自己遍历这一列检查, 然后添加惩罚值吗?

MaleicAcid avatar Sep 18 '20 02:09 MaleicAcid

还请问假如我的解(矩阵)含有40000个变量, 进化1000次, 种群500, 是否意味着要进行40000 * 1000 * 500 = 200亿次计算? 这个大概会计算多久

MaleicAcid avatar Sep 18 '20 02:09 MaleicAcid

@MaleicAcid 线性染色体是最通用最简单的形式。其他形式的染色体均可转化为线性染色体。

用numpy对染色体进行计算,实现你想要的取0的功能。

40000个变量用经典进化算法会效果不佳,要参考一些最新的论文自定义适合large-scale的算法模板。计算耗时:在i7 9600k上,以多目标zdt1-40000D、N-500、Gen-1000为例,单核跑NSGA2耗时是2267秒;以单目标Ackley-40000D、N-500、Gen-1000为例,单核跑DE/rand/1/bin耗时是2141秒。

geatpy-dev avatar Sep 18 '20 06:09 geatpy-dev

有large-scale的算法模版吗

CheneyJX avatar Jun 17 '22 12:06 CheneyJX