首页 > 解决方案 > Platypus NSGA-II 显示 '' unhashable type: 'numpy.ndarray' '',经过 200 次评估

问题描述

我正在使用鸭嘴兽实现 NSGA-II。我无法展示我所有的代码,但我有近 30 个决策变量、2 个目标、1 个约束。

它会在函数的前 200 次评估中顺利运行,但随后返回错误:

TypeError:不可散列的类型:'numpy.ndarray'

我认为这是因为 NSGA-II 是 Platypus 实现的方式,因为每一代由 100 个种群组成,200 个对应于 2 代迭代。但是什么原因会导致这个错误出现在第三代呢?

标签: platypusplatypus-optimizer

解决方案


我想我自己找到了原因。这不是因为鸭嘴兽的实施。相反,我通过引入“浮动+列表”类型的目标犯了一个错误


推荐阅读