使用遗传算法的高中时间表

我正在将java中的高中时间表遗传算法作为一个项目,但我有几个问题,我可以在哪个方向处理这个问题。

  1. 我的染色体编码应该是什么? 包含每个值或可能是字符串的ArrayList?

  2. 我该如何输入和输出数据? 我应该将数据保存在Excel中并输出时间表作为GUI吗?

  3. 新手程序员在实现算法时应该记住哪些基本知识? 到目前为止,我与GA的经验是创建一个解决旅行销售人员问题并将随机字符串演变为“Hello World”的人,但我担心我对数据库和高级概念缺乏知识会使我陷入困境完成这个项目。

  1. ArrayList因为它比变量更容易保存更多数据。 但是,ArrayList是可修改的,因此请确保您确实需要它可以修改,因为它需要的性能不仅仅是数组。
  2. Java可以读写文件。 但是,我不会将它保留为Excel格式,因为我认为它更难以阅读。 我会说保持原始格式,也许是CSV。
  3. 没有项目太难完成。 只要你有时间,耐心和学习的意愿,你就会完成这个项目。 几个想法:我会调查JOptionPane或甚至控制台来呈现最终结果。 另外,请查看FileWriter。

回答关于输入/输出数据和可视化的问题2:

输入/输出数据 :我使用了ITC2007组件的格式。 请参阅我关于课程课程示例的文档 (这是高中时间表)。

可视化 :我使用了3个表(房间,教师和学生组),如本video所示。

但我没有使用GA(因为compo就像ITC2007certificate他们是劣等的)。