2

情况如下。

我是一个有几十个学生的私人教师。我的时间有一些限制(例如我不能在星期五下午教课),学生的时间也有很多限制。基于此,我正在尝试以一种可以尽可能多地参加私人课程并同时优化我的时间的方式来创建我的议程。理想情况下,它甚至会考虑到我与学生的距离(其中一些在另一个城市)。课程也有可变的持续时间。理想情况下,我希望能够设置我可以教的时间(一周中的每一天),并设置每个学生可以上课的时间(一周中的每一天),他希望一节课持续多长时间和频率(即每周 2 次)。

我相信已经有一个算法,但我找不到这个问题的名称。我相信稳定的婚姻不是这样,这一个也不是这样:教师时间安排算法

如果有人能给我指出一种算法或我可以研究的材料,以便在不存在的情况下尝试详细说明它,我将不胜感激。

非常感谢您,祝您有愉快的一天!

4

1 回答 1

4

为了应用一些不错的多项式时间解决方案,这个问题似乎太复杂了。例如,如果您不关心学生的位置、不关心时间碎片等,您可以使用一些最大流量算法来解决它。但是,这可能不会导致您最满意的时间表。如果您想模拟现实世界的情况,假设您有少量学生(例如 < 10)并且您的可用时间很少(例如 < 40),您应该只做回溯,(即蛮力)为了尝试不同的任务并优化您拥有的任何约束。由于运行时间是指数级的,您最终可能需要进行一些分支定界优化。

无论您采用何种方法,您都必须以更具体的方式简化或指定问题。例如,如果您决定上课总是在 2 点、4 点、6 点或 8 点开始,那么解决问题会容易得多。您还需要定义一个给出解决方案质量的公式(例如总教学时间减去总旅行时间)。像这样的建模问题和编写解决方案通常很有趣,特别是如果您是编程或算法爱好者。

于 2010-09-10T07:24:27.580 回答