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

时间:2015-01-01 21:06:43

标签: java scheduling genetic-algorithm

我在java中将高中时间表遗传算法作为一个项目,但我有几个问题可以解决这个问题。

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

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

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

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

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

输入/输出数据:我使用了ITC2007组合的格式。请参阅my docs about the Curriculum Course example(这是高中时间表)。

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

但我没有使用GA(因为compo就像ITC2007一样证明他们是劣等的)。

相关问题