我收到一个错误消息,说“ org.moeaframework.core.Solution无法转换为SensorsSolution”。 SensorsSolution是扩展解决方案的一类。 MOEA允许吗?这是推荐做法吗?
之所以要扩展它,是因为我需要每个人来存储有关传感器位置的信息。 在评估了此类的HashMap属性的使用并意识到每次评估后都将其数据擦除之后,我认为这是最佳选择。但是现在我正面临这个问题。
在此处显示与错误行对应的代码:
@Override
public void evaluate(Solution solution) {
System.out.println("class= "+solution.getClass()); //Returning "class SensorsSolution"
SensorsSolution sensorsSolution = (SensorsSolution) solution;
...
}
谢谢。
答案 0 :(得分:0)
听起来,您想要保存的是有关每个函数评估的额外信息,这些信息是经过计算但未包含在目标或约束中的信息。这是MOEA用户经常提出的要求。您正在正确地修改evaluate
方法以执行 操作,但我怀疑您最好将额外的信息写入SQLite数据库,HDF5文件甚至是文本文件。通常,您希望在运行结束时查找此信息-在运行期间不会为您带来太大影响。