我正在寻找算法,jsprit 或 optaplanner 项目似乎是为了解决我的问题。我们只使用 Java。我看了一下 jsprit 自行车示例,一个入口点,现在我需要解决一个围绕病人运输的问题。
- 担架可以承载床、轮椅或有效的病人。如果他们去同一个区域并且来自同一个区域,他可以同时携带一个轮椅和一个有效的。
- 长途,一张床需要2个担架
- 推床者(一种固定在床上的电动卡车)更换1个担架
- 移动床对于长距离最有效,但也可以用于短距离
- 搬运工只能帮助床位(不适用于轮椅或有效患者)
- 完成后,移动床保持原位或空地返回公园区域(可能 1..n 个地方)
通用规则 :
- 每个代理的总运输时间必须尽可能相等(公平)
- 传输是时间窗口的,延迟必须尽可能短(取决于优先级)
- 每次都有新的传输请求
- 最好使用移动床而不是 2 个担架
你能告诉我如何开始解决这种问题。你认为有可能吗?
问候