Можно ли расширить класс Solution? - PullRequest
0 голосов
/ 30 ноября 2018

Я получаю сообщение об ошибке, говорящее, что «org.moeaframework.core.Solution не может быть приведен к SensorsSolution».SensorsSolution - это класс, расширяющий Solution. Допускает ли это МОА?Это рекомендуемая практика?

Причина, по которой я ее расширяю, заключается в том, что мне нужно, чтобы каждый человек сохранял информацию о местах расположения датчиков.Оценив использование атрибутов HashMap этого класса и осознав, что данные стираются после каждой оценки, я решил, что это лучший вариант.Но теперь я сталкиваюсь с этой проблемой.

Вот код, соответствующий строке ошибки:

@Override
public void evaluate(Solution solution) {
    System.out.println("class= "+solution.getClass()); //Returning "class SensorsSolution"
    SensorsSolution sensorsSolution = (SensorsSolution) solution;
    ...
}

Спасибо.

1 Ответ

0 голосов
/ 19 декабря 2018

Звучит так, будто вы хотите сохранить дополнительную информацию о каждой оценке функции, информацию, которая вычисляется, но не включается в цели или ограничения.Это частая просьба пользователей МЭА.Вы на правильном пути, модифицируя метод evaluate для выполнения чего-то , но я подозреваю, что вам лучше записать дополнительную информацию в базу данных SQLite, файл HDF5 или даже в текстовый файл.Как правило, вы хотите просмотреть эту информацию в конце цикла - во время цикла он мало что даст вам.

...