4

我在为医疗审查委员会设计调度算法时寻求帮助:每天有数百名客户从 14 天后开始安排给专业医生。每位患者可能需要去看不止一位医生,在极端情况下可能多达 5 次。

有固定数量的房间,其中一些有专门的设备。对于某些会议,只能使用特定的房间。

每个医生都有特定的时间表,但通常在 14:00 到 19:00 之间。主要要求是尽量让每位患者只来一次。

许多约束,包括与同一位医生的第二次访问,避免利益冲突(患者和医生彼此认识)等。医院/居民问题不适合,主要是因为限制。我们正在尝试使用优先方案的解决方案,然后尝试重新安排异常。

目前我们正在尝试定义算法,这是管理医学审查委员会的整个系统的一部分。该系统基于 Java,FE 为 dojo,BE 为 EJB。

4

1 回答 1

3

这是一个可以关闭的问题,因为它过于本地化。对其他人不会有太大帮助。但这是一个有趣的问题,所以我想我会抛出一些想法。

  • 您将需要首先为最复杂的案例找到匹配项。
  • 寻找“最合适”的解决方案。如果您可以在另一天填满,请不要在空闲的一天抽出时间。
  • 您将不得不找出一种方法来迭代匹配,以便尝试各种可能性。以某种方式撤回,做出不同的选择,然后继续而不陷入无限循环。
  • 您可能会进行(比方说)80%的装配,然后换人。用 2 和 1 或其他东西交换 3 小时的约会。目标是让时间表具有最大的“灵活性”。
  • 您将需要确定您的交换规则。是什么让日程安排更好?

这里有一堆 SO 问题供您阅读:

希望有些帮助。

于 2012-04-05T13:11:08.480 回答