2015-01-01 3 views
0

Делаю средней школы расписание генетического алгоритма в Java как проект, но у меня есть несколько вопросов, в каком направлении я могу подойти к этому в.High School Расписание с использованием генетического алгоритма

  1. Что должно быть моя кодировка хромосом? ArrayList, который содержит каждое значение или, возможно, строку?

  2. Как следует вводить и выводить данные? Должен ли я хранить данные в excel и выводить расписание в виде графического интерфейса?

  3. Есть ли необходимые знания, которые программист-новичок должен иметь в виду при реализации алгоритма? До сих пор опыт, который у меня был с GA, создает тот, который решает проблему Traveling Sales Man и превращает популяцию случайных строк в «Hello World», но я боюсь, что мой недостаток знаний о базах данных и передовых концепциях будет узким местом для меня от завершения этого проекта.

ответ

0
  1. ArrayList, потому что лучше держать больше данных, чем переменная. Однако ArrayList может быть изменен, поэтому убедитесь, что он действительно нуждается в модификации, потому что он требует большей производительности, чем просто массив.
  2. Java может читать и записывать файлы. Я бы не сохранил его в формате Excel, потому что, по-моему, с ним было бы труднее читать. Я бы сказал, держите его в более грубом формате, возможно, в CSV.
  3. Ни один проект не является слишком сложным для завершения. Пока у вас есть время, терпение и готовность учиться, вы закончите проект. Несколько мыслей: я бы посмотрел на JOptionPane или, возможно, даже на консоль, чтобы представить окончательный результат. Кроме того, загляните в FileWriter.
0

Чтобы ответить на вопрос 2 о входных/выходных данных и визуализации:

ввода/вывода данных: Я использовал формат ITC2007 компо. См. my docs about the Curriculum Course example (это расписание для средней школы).

Визуализация: Я использовал 3 таблицы (комнату, группу учителей и учеников), как показано в this video.

Но я не использовал GA (потому что compo, как ITC2007, доказывает, что они уступают).

Смежные вопросы