Java 调度时间表算法

Java 调度时间表算法,java,matlab,scheduling,heuristics,drools-planner,Java,Matlab,Scheduling,Heuristics,Drools Planner,我想知道是否有人能为我指出如何解决排程问题的正确方向 我有一个教师/学生时间表问题,我有在特定时间教授特定科目的教师,也有学生对他们想何时上哪门课有偏好。目标是制定一个时间表,但不一定是最佳解决方案 我环顾了一下这里,在这个网站上有大量关于这个主题的讨论,我发现这些讨论从超常规到非常困难,我目前无法理解使用哪些编程/逻辑概念来至少概念化程序工作流程 处理过类似问题的人能解释一下这些类型的问题是如何处理的吗。我不需要代码(虽然伪代码会很棒),但是一些指导原则,比如步骤1-做这个,步骤2-做那个,步

我想知道是否有人能为我指出如何解决排程问题的正确方向

我有一个教师/学生时间表问题,我有在特定时间教授特定科目的教师,也有学生对他们想何时上哪门课有偏好。目标是制定一个时间表,但不一定是最佳解决方案

我环顾了一下这里,在这个网站上有大量关于这个主题的讨论,我发现这些讨论从超常规到非常困难,我目前无法理解使用哪些编程/逻辑概念来至少概念化程序工作流程

处理过类似问题的人能解释一下这些类型的问题是如何处理的吗。我不需要代码(虽然伪代码会很棒),但是一些指导原则,比如步骤1-做这个,步骤2-做那个,步骤3-做等等

另外,是否有可用的库可以有效地使用首选项进行调度,并且具有相当直接的输入

非常感谢

这是我遇到的一个问题的概要

假设我有一群销售人员:

目标是创建一个时间表,根据时间可用性和偏好将买方和卖方配对

这是一个课程时间表问题,对吗


我能用Drool Planner完成吗

首先,你应该为你的问题列出一份资源清单。然后你应该写下约束条件并建立一个数学模型。最后,您可以使用一些优化工具来生成解决方案

当然,这并不像看上去那么容易。可能会给你一些关于可能的解决方案的见解。

看看排课问题,它将教师和学生的讲座安排在时间段和房间内。看看或者


我已经用元启发式配置了构造启发式。我也尝试了其他配置,请参见我的基准配置。

Matlab有一个全局优化工具箱,它允许您使用一个非常简单的点击式GUI进行遗传算法优化,该GUI包含有用的文档。从中,您的问题正是使用GA解决的问题


如果您没有访问工具箱的权限,您应该能够找到java的遗传算法库,或者最坏的情况是您可以自己编写。它不会那么广泛,需要做一些工作,但做一个简单的应该不会太难。

你能再描述一下这个问题吗?“老师在特定的时间教授特定的科目”,所以你必须仅基于此创建一个时间表?也许你会发现它很有用:嗨,我更新了原始描述中的问题。期待您的来信!杰弗里,非常感谢!!我如何学习如何使用口水?你的例子太棒了。有没有办法给我一些建议,如何在Drools Planner中创建一个基本的优化问题?我了解它的功能和逻辑,但是我从哪里开始编写代码,如何知道使用什么类和编写什么?谢谢,请参阅问题“我的开源实现…”链接已断开。修复了该断开的链接